altair의 프로젝트 일기

Git branch 전략에 대하여 본문

IT/기타

Git branch 전략에 대하여

altair823 2024. 9. 14. 03:46

개요

 요새 오랜만에 아주 각 잡고 백엔드 개발을 하고 있다는 생각이 든다. 여러 사람들과 협업도 하고 코드리뷰도 하면서 개발자다운 생활을 하는 기분을 만끽하고 있다. 

 이번 글에서는 소규모 팀이 협업하는 과정에서 사용할만한, 즉 우리 팀이 쓰고 있는 Git branch 전략에 대해 소개하고자 한다. 

 

Git branch 전략

  세상에는 정말 많은 Git branch 전략들이 있다. 대표적으로 Git flow와 Github flow를 들 수 있겠다. 

Git flow
Github flow

 Github Flow는 Git Flow보다 더 적은 브랜치를 관리한다는 특징이 있다. Github Flow는 과거 버전으로 쉽게 돌아가는 등의 안정성을 일부 희생하는 대신 더 낮은 복잡도를 제공한다. 

 우리는 이 둘과 조금 다른 전략을 사용 중이다. 이를 짧게 소개하려 한다. 

 우리는 개발서버와 배포서버를 따로 두고 있다. production 브랜치로 push가 오면 배포서버를 향하는 CI/CD가 작동하고, develop 브랜치로 push가 오면 개발서버를 향하는 CI/CD가 작동한다.

 새로운 기능이나 코드는 feature/**와 같은 이름으로 만들고 이를 가장 먼저 develop 브랜치로 머지하여 개발서버에서 테스트해본다. 이후 안정화되면 production 브랜치로 머지해 배포서버에 반영한다. main 브랜치는 이 production 브랜치의 안정버전을 주기적으로 백업해놓는 역할을 한다. 

 

Comments