브랜치 전략이란?
<aside>
💡 브랜치 생성에 규칙을 만들어서 협업을 유연하게 하는 방법론
</aside>
브랜치는 기능을 분리된 workspace에서 개발 할 때 사용된다. 이러한 브랜치들은 master branch에 종종 merge되고 이러한 방법으로 기능들을 좀더 개발하기 쉽게 해준다. 즉, 브랜치들은 메인 브랜치의 코드들을 보호해주고 개발자들이 변경한 코드들에 영향을 받지 않도록 해준다.
따라서 소프트웨어 개발 팀이 코드를 작성하거나, merge하거나 배포할 때, 선택하는 전략인데 버전을 컨트롤하기 위해 사용되는 시스템이 브랜치 전략이. 이러한 전략은 repository를 organize된 상태로 관리 할 수 있게 도와주며 많은 개발자들이 동시에 작업을 할 수 있도록 도와준다. 따라서 더 빠르게 release가 가능해지고, conflict 발생이 줄어들게된다.
브랜치 전략이 필요한 이유
- 개발자들간 적절한 연계통한 생산성 향상
- 동시에 개발하는 것을 가능하게함
- 계획적이고 구조화된 일련의 release를 지원
- 소프트웨어 변경을 배포할 때 명확한 경로를 매핑
- 개발자가 개발 workflow를 중단하지 않고 문제를 신속하게 수정하여 이러한 변경 사항을 배포할 수 있는 버그 없는 코드를 유지
Git flow
장점
- 대규모 프로젝트에 적합함.
- 각 용도에 따른 브랜치가 존재하기 때문에 개발, 리뷰, 배포 등 전반적인 과정에서 역할과 책임을 명확하게 구분 가능
- 예시
- 현업에서 대다수가 사용하기 때문에 미리 학습해보면 실제 업무할 때 뿐만 아니라 면접, 포트폴리오 작성 시 유리
단점
- 복잡한 브랜치 전략
- 배우는 시간이 꽤 오래 걸릴 것으로 예상 (git flow 강의 다 같이 듣는 것 권장)
- 만약 제대로 숙지하지 않으면 커밋 시 수많은 충돌이 예상됨