Skip to content

git 브랜치 및 머지 전략

Park minji edited this page Sep 1, 2024 · 2 revisions

🛠️ 브랜치 전략

  • 브랜치 종류: master, develop, hotfix 브랜치를 사용합니다.

    • master: 안정화된 코드를 유지하는 브랜치입니다. 배포 가능한 상태를 보장합니다.
    • develop: 개발 중인 기능을 통합하는 브랜치입니다. 새로운 기능 개발과 버그 수정이 이루어집니다.
    • hotfix: 운영 환경에서 발견된 급한 문제를 수정하는 브랜치입니다. 문제가 해결되면 master와 develop 브랜치에 통합됩니다.
  • release 브랜치는 프로젝트의 볼륨이 크지 않아 필요하지 않다고 판단했습니다.

  • 브랜치 명명 규칙:

    • 기능 추가나 버그 수정을 위한 브랜치는 feat#1 또는 bugfix#2와 같은 형식으로 작성합니다.
    • 동일한 이슈에 대해 복수 브랜치가 필요한 경우에는 feat#1/detail 형식으로 브랜치를 구분합니다.

🔄 머지 전략

  • 머지 vs squash-merge

    • 머지(Merge): 브랜치를 직접 통합하는 방식으로, 원본 브랜치의 모든 커밋 이력을 유지합니다.
      • 다수의 커밋이 함께 기록되며 브랜치 그래프가 복잡해질 수 있습니다.
    • 스쿼시 머지(Squash-Merge): 브랜치의 모든 커밋을 하나로 합쳐서 통합합니다.
      • 이슈별로 커밋을 확인하기 쉬우며, 브랜치 그래프가 더 깔끔하게 유지됩니다. 그러나, PR 단위가 커질 경우 롤백이 어려울 수 있습니다.
  • 스쿼시 머지(Squash-Merge) 사용 결정

    • 기능 단위를 작게 나누어 PR을 올리기 때문에, 각 PR을 스쿼시하여 통합하는 전략을 채택합니다.
    • 이 방식은 커밋 이력을 깔끔하게 유지할 수 있으며, 관리와 롤백이 상대적으로 용이합니다.