Branch란

Git 사용함에 있어서 독립적으로 작업을 진행하기 위한 개념 

각각 필요에 따라 만들어지는 브랜치는 다른 브랜치의 영향을 받지 않는다. 

따라서 여러 작업을 동시에 할 수 있게 만들어줌 

 

여러 작업을 동시에 진행하다가 작업이 완료되면 브랜치 병합 -> 다시 새로운 하나의 브랜치로 모을 수 있다.

 

 

Master 브랜치

Repository를 처음 만들면 나타나는 브랜치 ( Master 브랜치를 통합 브랜치로 사용한다고 보면 된다 ) 

 

통합 브랜치

언제든지 배포할 수 있는 버전을 만들 수 있어야 하는 브랜치 

안정적인 상태 유지가 필요 ( 정상 동작하는 상태 ) 

 

애플리케이션에 문제가 발생 혹은 새로운 기능 추가 등은 토픽 브랜치에서 작업한다.

 

토픽 브랜치

기능 추가나 오류 수정 등을 작업하는 브랜치 ( 개발 브랜치 혹은 핫 픽스 브랜치 등을 생각하면 될 듯) 

토픽 브랜치에서 특정 작업이 완료되면 통합 브랜치에 병합함

 

성공적인 Git 브랜칭 모델

 

 

 

 

1. 메인 브랜치 Master와 Develop로 개발 진행 

2. 중요기능들에 대한 작업은 feature 브랜치 ( from develop ) -> 기능이 완성되면 develop로 merge 

3. 개발이 완성된 시점 : release 브랜치 ( from develop )에서 테스트 -> 눈에 띄면 버그만 release에서 작업 

4. release에서 테스트 후 배포에 문제가 없다면 release 브랜치를 master와 develop에 merge 후 삭제 

5. master 에 merge 후 태그로 versioning을 하고 마스터 브랜치의 소스를 배포한다.

6. master로 운영 중 치명적인 오류 발생 시 hotfix 브랜치 ( from master )에서 오류 수정 후 master와 develop 브랜치에 merge -> 다시 versioning 

 

 

 

 

 

참고 

https://agramar.tistory.com/11

https://backlog.com/git-tutorial/kr/stepup/stepup1_5.html

 

성공적인 Git 브랜칭 모델 원문 

https://nvie.com/posts/a-successful-git-branching-model/