프로젝트를 진행하면서 Git으로 협업하기 위해 브랜치 전략을 알아보았다. Git 브랜치 모델에는 Git Flow와 Trunk-Based Development 등의 전략이 있다. 그중에서 우리가 결정한 전략은 GitHub flow
이다. GitHub flow 브랜치 전략에 대해 알아보자!
GitHub flow는 feature
, develop
, release
, hotfix
, master
총 5가지의 브랜치로 협업하는 Git Flow 전략에서 더 단순화된 전략으로, feature
와 master
브랜치로만 협업한다. 기존의 Git Flow 전략이 복잡하다고 하여 'Scott Chacon'에 의해 생겨난 전략이다. main
브랜치와 기능 추가를 목적으로 한 하위 브랜치인 feature
를 사용한다. 나아가 더욱 철저한 워크플로우를 위해 Pull request
의 사용을 권장한다.
우리의 프로젝트 깃허브 저장소는 프론트엔드와 백엔드 각각 나눠서 사용하기 때문에, 프론트엔드는 2명이서 협업하게 된다. 큰 규모의 인원이 아니므로 git flow처럼 많은 브랜치를 사용하는 것보다 main
과 feature
라는 브랜치 2개를 통해 빠르게 협업하는 것이 더 소통하는 데에도 편리하다는 생각이 들었다!
커밋 메시지가 정확해야 한다.
merge 이후 문제가 생겼을 때 확실하게 찾을 수 있다.
하위 feature
브랜치에서 작업 내용 전체를 한 번에 올리는 것보다 기능별로 잘게 쪼개서 올린다.
Pull requests
를 철저하게 한 후, merge
한다.
따라서 우리는 GitHub Flow 브랜치 전략으로 협업을 진행한다.
feature 브랜치의 경우, feature/{구현기능}
형식으로 브랜치명을 생성한다. 또한 각자 Pull requests
할 때마다 코드 리뷰를 하여, 서로의 코드를 확인하고 워크플로우를 원활하게 할 것이다. 나아가 백엔드와 프론트엔드 모두 정해진 커밋 메시지 규칙에 따라 협업을 더욱 철저하게 하려고 한다!
<출처>
https://tecoble.techcourse.co.kr/post/2021-07-15-git-branch/
https://inpa.tistory.com/entry/GIT-%E2%9A%A1%EF%B8%8F-github-flow-git-flow-%F0%9F%93%88-%EB%B8%8C%EB%9E%9C%EC%B9%98-%EC%A0%84%EB%9E%B5