Git

[git] Git Flow 간단하게 이해하기

PgmJUN 2021. 12. 1. 17:51

 

 

 

Git Flow란 간단히 말해서 형상 관리 전략입니다.

 

그냥 개발자마다 각자 방식이 있겠지만 Git을 사용하여 프로젝트를 진행할 때 Git Flow전략을 통해 관리하는 것이 더 효율적이고 유연합니다.

 

 

소스 코드 관리를 효율적으로하고 협업할 때 발생할 수 있는 문제점을 최소화할 수 있는 전략

Git flow입니다.

 

먼저 사진을 봅시다!

Git Flow 전략

깃 플로우는 브랜치를 통해 프로젝트를 관리하는 전략으로 브랜치는 총 5개로 구분합니다.

 

  • master branch: 배포됐거나 배포될 소스를 저장하는 브랜치
  • develop branch: 배포하기 위해 개발을 진행하는 브랜치
  • feature branch: '다음 릴리즈때 출시할' 또는 '언젠가 추가할' 기능을 개발하는 브랜치
  • hotfixs branch: 배포된 버전에 생긴 문제를 해결하기 위한 개발이 필요할 때 쓰이는 브랜치
  • release branch: 배포할 준비가 된 소스를 저장하는 브랜치

 

이를 기반으로 그래프를 설명해드리겠습니다.

 

  1. 우선 첫번째로 개발된 버전을 master브랜치로 이동.
  2. 그리고 다음 버전 개발을 위해 develop 브랜치로 이동.
  3. 개발 도중 추가할 기능들을 개발하기 위해 기능 단위로 feature 브랜치를 생성하여 개발.
  4. 배포된 0.1버전에 문제가 생겨 hotfixs 브랜치로 이동 되었다가 0.2버전으로 수정되어 배포.
  5. 개발 완료된 기능을 추가한 소스를 develop브랜치로 merge.
  6. 다시 develop에서 1.0버전 출시를 위해 release 브랜치로 이동(release브랜치는 배포 직전 단계이므로 버그 수정 진행)
  7. release 브랜치에서 버그가 수정될 때마다 develop 브랜치로 계속 머지 / 현재 개발중인 feature브랜치에도 버그 수정 내용 merge
  8. release브랜치에선 버그 완전 수정후 1.0버전 배포 후 develop브랜치로 이동

 

위 사이클을 계속 돌면서 개발해나가는 버전 관리 방법이 바로 git flow 입니다.

 

 

생각보다 어렵진 않은듯한데 프로젝트를 진행하며 사용해봐야 적응될 듯 합니다.

 

깃플로우를 적용해보며 효율적으로 프로젝트를 관리하는 습관을 들여봅시다.

 

읽어주셔서 감사합니다.