Git Flow에 대해 알아보자🤔

2021. 8. 10. 15:59Git 정리

Git Flow

  • Git Flow는 git을 효율적으로 프로젝트를 관리하고 배포하기 위한 전략이다. Git은 다음과 같은 과정을 거친다.
    2021-08-10-10-52-33.png

    하지만 프로젝트의 규모가 커지고 협업하는 동료들이 많아진다면 저장소의 master branch만을 이용한는 것에서 이슈에 따라 다양한 branch를 통해 다양한 인원이 독립적으로 개발이 가능한 전략이 필요함!!

#Git Flow

2021-08-10-11-00-31.png

  • Git Flow는 다양한 branch를 관리하고 통합하기 위한 전략 중 하나이다. 최근에는 Git Flow의 단점을 해소하기 위해 GitHub Flow, GitLab Flow 등 다양한 전략이 있지만 이 문서에는 가장 기본이 되는 Git Flow를 설명하고 여기에 필요한 기본적인 Git 명령어에 대해 알아보자!!

#브랜치 전략

  • Git Flow의 주요 브랜치는 master와 develop이며, 이 두 브랜치를 중심으로 feature, release와 필요에 따라 hotfixes 브랜치를 정의한다.
    2021-08-10-11-01-20.png
#master
  • master 브랜치에 merge된 내역은 새로운 버전이 갱신되었다는 것을 의미한다. 즉 master 브랜치에 변경 내역이 생기면 Tag를 통해 Production에 배포된다.
#develop
  • hotfix를 제외한 모든 변경내역이 출발하는 지점이다. Develop 브랜치의 코드가 안정화되고 배포할 준비가 되면 master 를 통해 배포 버전의 태그를 단다.
#feature
  • feature 브랜치는 배포하려고 하는 기능을 개발하는 브랜치다. 기능을 개발하기 시작할 때는 언제 배포할 수 있을지 알 수 없다! 기능을 다 완성할 때까지 유지하고 있다가 다 완성되면 develop 브랜치로 병합한다.

    • 브랜치가 생성되는 대상 : develop

    • merge 대상 : develop

      2021-08-10-11-09-12.png

#release
  • release 브랜치는 실제 배포할 상태가 된 경우에 생성하는 브랜치다.
    • 브랜치가 생성되는 대상 : develop
    • merge 대상 : develop, master
#hotfix
  • 미리 계획되지 않은 브랜치다. 기본적인 동작방식은 release와 비슷하다. 배포 이후에 생긴 치명적인 버그는 즉시 해결해야하기 때문에 문제가 생기면 master 브랜치에 만들어둔 태그 tag로 부터 긴급 수정을 위한 브랜치를 생성한다.

    • 브랜치가 생성되는 대상 : master%
    • merge 대상 : develop, master

    2021-08-10-11-16-00.png

'Git 정리' 카테고리의 다른 글

Git rebase에 대해 알아보자 🥸  (0) 2021.08.10
Git Cherry Pick에 대해 알아보자🙌  (0) 2021.08.10
Git Commands 정리🧐  (0) 2021.08.10