반응형
Git-flow
설명
- 주기적으로 배포해야하는 프로젝트에 적합하다.
- 관리하는 브랜치가 많아 복잡할 수 있다
- 브랜치를 크게 아래 4가지로 나누어 개발하는 전략
- Main branch
- master
- 배포 가능한 상태만을 관리하는 브랜치
- develop
- 다음에 배포할 것을 개발하는 브랜치
- 평소에는 이 브랜치를 기반으로 개발을 진행
- master
- Feature branch
- 기능을 개발하는 브랜치로 develop 브랜치로부터 분기
- 개발을 완료하면 develop 브랜치로 merge
- 보통 개발자 로컬에 두고 origin에는 push하지 않는다. (경우에 따라 push는 필요할수도..?)
- Release branch
- QA를 위해 develop으로부터 생성하는 브랜치
- QA 완료 후 master 브랜치에 merge 후 버전 태그 추가
- Hotfix branch
- 배포한 버전에서 긴급하게 수정을 해야할 경우 master 브랜치에서 분기하는 브랜치
- master에서 분기한 브랜치이기 때문에 develop에 작업중인 코드와 별개로 작업이 가능하다
- 이 브랜치에서의 변경사항을 develop 브랜치에도 merge해주어야 한다.
Git-flow 진행 과정
Github-flow
설명
- 복잡한 Git-flow를 보완하기 위해 Github에서 나온 브랜치 전략
- 수시로 배포가 일어나는 프로젝트에 적합
- master 브랜치는 엄격한 role로 관리되며 항상 최신 상태로 관리
- 새로운 작업 시작 전에 master에서 새 브랜치를 분기하여 작업을 시작한다.
- Git-flow와 다르게 feature 브랜치나 develop 브랜치로 관리하지 않음
- 새 작업 브랜치에 작업을 완료하면 push하고 테스트 진행
- 새 브랜치 작업 테스트 완료시 PR을 통해 리뷰 받고 master 브랜치로 merge
- master로 merge된 경우 즉시 배포되어야 한다.
Github-flow 진행 과정
반응형
'Development > Git' 카테고리의 다른 글
[GitHub] GitHub Actions를 사용하여 빌드 자동화하기 (0) | 2024.03.03 |
---|---|
[GitHub] GitHub Pages Jekyll 테마 적용하기 (0) | 2019.05.25 |
[GitHub] GitHub Pages 사용하기 (0) | 2019.05.25 |
[Git] Merge vs Rebase (0) | 2019.05.19 |
[Git] 명령어 (0) | 2019.05.11 |