소규모 팀 Git branch 전략을 수립하자

froajnzd·2024년 6월 2일
0

git

목록 보기
5/6
post-thumbnail

아주아주 유명한 Git branch 그림
다들 한 번쯤은 본 적이 있을 듯하다

  • master branch
  • hotfixes
  • release branches
  • develop branch
  • feature branches

굉장히 많다..
이 글을 읽는 사람들은 이걸 다 어떻게 구축하지? 라고 생각하는 사람들이 대부분일 것이다.
(이정도 규모의 브랜치 전략을 필요로하는 곳은 이미 체계적으로 구축되어졌을 것이다..ㅎㅎ)

우리는 현재 백엔드 2명, 프론트 1명의 소규모 팀으로 이루어졌다. branch가 많으면 더더욱이 관리가 힘들어질 터,
그러나 prod branch와 develop branch는 분리하고 싶은 니즈에 맞춰 아래와 같이 브랜치 전략을 세우게 되었다.

메인 브랜치로 사용하는 브랜치는 Prod branch와 Develop branch 뿐이다.
나머지 브랜치들(feature branches, hotfix branch)는 필요에 의해 생성-삭제될 수 있는 브랜치들이다.
메인 브랜치 둘은 깃헙 액션으로 CI/CD 배포 환경을 만들었다.

각 브랜치에 대해 간략하게 설명을 해보자면,

  1. Prod branch : 사용자가 실제로 접근하는 데이터와 연결된 배포 브랜치. 오류가 있으면 안되고, 충분한 검증을 거친 후 develop branch에서 push한다. 만약 오류가 발견된다면 HOTFIX 브랜치를 새로 만들어 바로 오류를 해결한다.

  2. HotFix branch : 서비스에서 치명적인 오류가 발생했다면, 이를 빠르게 해결하기 위해 hotfix 브랜치를 "새로" 만들고, 고친 후, hotfix branch는 삭제한다.

  3. Develop branch : 개발자들을 위해 각자 만든 Feature를 테스트할 수 있는 개발환경을 위한 브랜치이다. 배포된 서비스는 내부망에서만 접근할 수 있고, 서비스 기능이 온전하다면 upgrade version을 위해 Prod branch로 push한다.

  4. Feature branches : 새로운 기능을 만들고자 할 때 새로 만들어지고 삭제되는 브랜치들이다. 이 Feature 브랜치들은 github issue로 관리된다.

profile
Hi I'm 열쯔엉

0개의 댓글