Git
[git] Git Flow 간단하게 이해하기
PgmJUN
2021. 12. 1. 17:51
Git Flow란 간단히 말해서 형상 관리 전략입니다.
그냥 개발자마다 각자 방식이 있겠지만 Git을 사용하여 프로젝트를 진행할 때 Git Flow전략을 통해 관리하는 것이 더 효율적이고 유연합니다.
소스 코드 관리를 효율적으로하고 협업할 때 발생할 수 있는 문제점을 최소화할 수 있는 전략이
Git flow입니다.
먼저 사진을 봅시다!
깃 플로우는 브랜치를 통해 프로젝트를 관리하는 전략으로 브랜치는 총 5개로 구분합니다.
- master branch: 배포됐거나 배포될 소스를 저장하는 브랜치
- develop branch: 배포하기 위해 개발을 진행하는 브랜치
- feature branch: '다음 릴리즈때 출시할' 또는 '언젠가 추가할' 기능을 개발하는 브랜치
- hotfixs branch: 배포된 버전에 생긴 문제를 해결하기 위한 개발이 필요할 때 쓰이는 브랜치
- release branch: 배포할 준비가 된 소스를 저장하는 브랜치
이를 기반으로 그래프를 설명해드리겠습니다.
- 우선 첫번째로 개발된 버전을 master브랜치로 이동.
- 그리고 다음 버전 개발을 위해 develop 브랜치로 이동.
- 개발 도중 추가할 기능들을 개발하기 위해 기능 단위로 feature 브랜치를 생성하여 개발.
- 배포된 0.1버전에 문제가 생겨 hotfixs 브랜치로 이동 되었다가 0.2버전으로 수정되어 배포.
- 개발 완료된 기능을 추가한 소스를 develop브랜치로 merge.
- 다시 develop에서 1.0버전 출시를 위해 release 브랜치로 이동(release브랜치는 배포 직전 단계이므로 버그 수정 진행)
- release 브랜치에서 버그가 수정될 때마다 develop 브랜치로 계속 머지 / 현재 개발중인 feature브랜치에도 버그 수정 내용 merge
- release브랜치에선 버그 완전 수정후 1.0버전 배포 후 develop브랜치로 이동
위 사이클을 계속 돌면서 개발해나가는 버전 관리 방법이 바로 git flow 입니다.
생각보다 어렵진 않은듯한데 프로젝트를 진행하며 사용해봐야 적응될 듯 합니다.
깃플로우를 적용해보며 효율적으로 프로젝트를 관리하는 습관을 들여봅시다.
읽어주셔서 감사합니다.