Git workflow
in Git
Git Workflow
형상관리도구인 Github를 어떻게 사용할 지에 대한 방법(?)이다. 유명한 예로 gitflow, git workflow, gitlab workflow 등이 있다.
Git flow
: 주로 대규모의 프로젝트에서 사용하는 엄격한 방식
항상 유지되는 메인 브랜치 - master
, develop
일정 기간 동안만 유지되는 보조 브랜치 - feature
, release
, hotfix
- Master Branch - 제품으로 출시될 수 있는 브랜치
- 배포(Release) 이력 관리를 위해 사용. 즉, 배포 가능한 상태만을 관리
- Develop Branch - 다음 출시 버전을 개발하는 브랜치
- 기능 개발을 위한 브랜치들을 병합하기 위해 사용.
- 모든 기능이 완성되면
master
branch에 merge한다.
- Feature Branch - 기능 개발
- 새로운 기능 개발 및 버그 수정이 필요할 때
develop
branch로부터 분기 - 개발 완료 후
develop
branch에 merge - naming : feature/기능요약
--no-ff
옵션 : feature branch에 존재하는 커밋 이력을 모두 합쳐 하나의 새로운 커밋 객체를 만들어 merge
- 새로운 기능 개발 및 버그 수정이 필요할 때
- Release Branch - 이번 출시 버전을 준비하는 브랜치
- 배포를 위한 전용 브랜치
- 한 팀이 해당 배포를 준비할 때, 다른 팀은 다음 배포를 준비할수록 있도록 함
- 직접 관련된 작업들을 제외하고, 새로운 기능을 추가로 merge하지 않는다.
- Hotfix Branch - 출시 버전에서 발생한 버그를 수정하는 브랜치
- 배포한 버전에 긴급 수정이 필요한 경우,
master
branch에서 분기 - 문제 해결 후 다시
master
branch 에 merge hotfix
브랜치에서의 변경사항은develop
branch에도 merge
- 배포한 버전에 긴급 수정이 필요한 경우,