0%

Git Flow

Git

VCS(Version Control System)

  • 오픈 소스 프로젝트에 contribute 가능

Index/ Staging Area

![Git%20Flow%20db159d7b7a334844bbdc9cd55df0c6d2/Untitled.png](/Users/JungHyunLah/Downloads/Export-7c14f1ac-12d4-4546-bf05-ffd2280e2b78/Git Flow db159d7b7a334844bbdc9cd55df0c6d2/Untitled.png)

Git Flow

feature > develop > release > hotfix > master

  • master
    • production에 사용되는 브랜치
  • feature
    • 브랜치 나오는 곳 : develop
    • 브랜치가 들어가는 곳 : develop
    • 이름 지정 : masterdeveloprelease-*hotfix-*를 제외한 어떤 것이든 가능.
    • 새로운 기능을 추가하는 브랜치
    • origin 에는 반영하지 않고 개발자의 repo 에만 존재
    • 여기서 merge를 할 때, --no-ff 옵션을 이용하여 브런치에서 머지가 되었음을 git 기록에 남겨두도록 함
  • release
    • 브랜치 나오는 곳 : develop
    • 브랜치가 들어가는 곳 : developmaster
    • 이름 지정 : release-*
    • 새로운 production release를 위한 브랜치
    • 현재까지의 기능을 develop 에서 release 로 따오고, develop 에는 다음번 릴리즈를 준비한다. 그리고 다가오는 릴리즈를 위해서 release 브랜치에서 버그 픽스에 대한 부분만 커밋하고, 최종적으로 master--no-ff 한다.
  • hotfix
    • 브랜치 나오는 곳 : master
    • 브랜치가 들어가는 곳 : developmaster
    • 이름 지정 : hotfix-*
    • production에서 발생한 문제를 해결하는 브랜치
    • 만약 release 브런치가 존재한다면, release 브런치에 hotfix 브런치를 머지하여 릴리즈 될 때 반영이 될 수 있도록 한다.