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을 스쿼시하여 통합하는 전략을 채택