[Git] git-flow란 무엇일까

진세오·2025년 6월 28일
post-thumbnail

git-flow란?

    깃브랜치 전략 중 하나로 기본적으로 5개의 브랜치를 두는 프로젝트의 버전관리 전략이다.

사용하는 브랜치 종류

main(master): 출시의 기준이 되는 브랜치
develop(개발): 다음 출시를 대비하여 개발되고 있는 브랜치
features(기능): 기능별로 개발진행되는 브랜치
release(배포): 배포 하기 전 QA(품질 검사)를 하기 위한 브랜치
hotfixes(긴급 수정): main 브랜치 배포 후 버그 발생 시 긴급 수정을 위해 생성하는 브랜치

git "flow"

    깃 플로우 전략을 사용하게 되면 개발이 진행될때의 "흐름"을 보여줄 수 있다. main 브랜치에 있는 내용으로 우선 배포가 진행이 되고, main을 기준으로 develop 브랜치가 생성이 된다. 그 후 여러 기능 개발을 하기 위해 feature 브랜치가 만들어 진다.

feature > develop > main

    여러 기능들이 개발이 되고 develop 브랜치에 merge를 하면 배포 전 QA(품질 검사)를 위해 release 브랜치에서 검수가 진행되고, QA 진행 후 다시 develop > main 순으로 merge를 진행하여 배포가 진행된다.

feature > develop > release > develop > main

    hotfix 브랜치는 배포가 된 후 생긴 버그등으로 긴급하게 처리되어야 할 때 main을 기준으로 생성하는 브랜치이다.

hotfix > main or develop

  1. main을 기준으로 develop을 생성한다.
  2. develop을 기준으로 feature, release등의 브랜치를 생성하여 기능 개발, 품질 검사 등을 수행한다.
  3. 2에서 진행된 내용을 develop에 merge한 후, main에 merge 하여 배포한다.
  4. 배포 후 문제가 발생하면 main을 기준으로 hotfix 브랜치를 생성하여 수정하고, main 혹은 develop에 병합하여 배포한다.


git-flow 전략을 사용하는 이유

  1. 개발의 흐름을 파악하여 프로젝트 유지보수성을 높인다.
  2. 코드간 충돌을 예방하고 수정할 수 있다.

    로그 기록을 통해 프로젝트가 어떻게 진행되어왔는지 파악이 가능하고, 어느 부분을 개발하여야 하는지를 알 수 있으니 유지보수성이 높아진다. 뿐만 아니라 새 기능을 개발할때 develop을 기준으로 branch가 각각 생기기 때문에 코드간의 충돌을 피할 수 있다.



참고 사이트

https://puleugo.tistory.com/107
https://techblog.woowahan.com/2553/
velog 효율적인 협업을 위한 Git-Flow 이해하기
https://inpa.tistory.com/entry/GIT-⚡️-github-flow-git-flow-📈-브랜치-전략

0개의 댓글