/ GIT

Git Flow 전략에 대해(브랜치 관리 전략)

Git은 다음과 같이 구성되어 있습니다.




개발한 코드를 git으로 관리할 때 그냥 main(master)브랜치에 관리하는 것은 좋지 않을 수 있습니다. 특히나 규모가 큰 프로젝트에서 말이죠. 물론 상황에 따라서 다를 수 있습니다.

오늘은 많이 사용하는 브랜치 전략인 git Flow 전략을 정리해보겠습니다.

Git Flow 전략


git flow 전략

제가 그린 것을 보고 정리해보겠습니다.

일단 현재 배포중인 최종본은 Main(Master)브랜치에서 관리합니다. 이후에 개발을 할 때 git flow 전략은 이 Main 브랜치에서 develop 브랜치를 하나 생성하여 개발을 진행합니다.

이후 신규 기능을 개발할 때, 이 develop브랜치에서 feature브랜치를 추가로 생성합니다. 만약 로그인 기능을 개발하는 브랜치라면 “feature/login” 과 같은 이름으로 브랜치를 생성합니다. 기능 개발을 완료하고 정상적으로 작동하는지 검토한 후 에 develop브랜치와 이 브랜치를 병합합니다.

새로운 기능이 추가된 develop브랜치를 바로 Main브랜치와 합치기 전에 release 브랜치를 생성하는데, 이것은 이번 출시 버전을 준비하는 브랜치로, 배포전 최종적으로 확인하기위한 브랜치입니다.

이후 최종테스트를 마친 후에, Main으로 배포하게 됩니다. 물론 release 브랜치는 Main브랜치 뿐만 아니라 develop브랜치와도 병합합니다.

배포 버전에서 갑작스러운 버그가 발생하여 급하게 수정해야하는 경우도 있을 것입니다. 이런 경우에는 Main브랜치에서 바로 hotfix라는 브랜치를 생성하여 버그를 수정한 후 바로 Main과 병합하여 배포하게 됩니다. (develop브랜치와도 병합)

장점


이 git flow 전략의 장점이 뭘까요?
신중하게 관리하는 전략이기 때문에 안정적인 배포가 가능하다는 점입니다.

정리하기


크게 5가지 브랜치로 관리한다.

  • (main)master : 배포중인 브랜치
  • develop : 다음 출시 버전 개발하는 브랜치
  • feature : 기능을 개발하는 브랜치
  • release : 이번 출시 버전 준비하는 브랜치
  • hotfix : 출시중인 버전에서 발생한 버그를 수정하는 브랜치



End.