Loading...
_
🏠
🌐 suttolog.netlify.app/blog/post
📅

Git 브랜치 전략 이해하기

팀 프로젝트에서 Git을 사용할 때 가장 중요한 것 중 하나가 브랜치 전략입니다. 올바른 전략을 선택하면 협업이 훨씬 순조로워집니다.

왜 브랜치 전략이 필요한가?

브랜치 전략 없이 개발하면 다음 문제가 생깁니다:

  • 코드 충돌이 빈번하게 발생
  • 배포 가능한 코드와 개발 중인 코드가 섞임
  • 핫픽스를 빠르게 적용하기 어려움
  • 코드 리뷰 프로세스가 혼란스러움

주요 브랜치 전략

1. Git Flow

가장 전통적인 전략으로, 다음 브랜치들을 사용합니다:

  • main - 프로덕션 코드
  • develop - 개발 중인 코드
  • feature/* - 새로운 기능
  • release/* - 릴리즈 준비
  • hotfix/* - 긴급 버그 수정

장점: 체계적이고 안정적
단점: 브랜치가 많아 복잡할 수 있음

2. GitHub Flow

더 단순한 전략입니다:

main → feature branch → PR → main
  1. main에서 브랜치 생성
  2. 커밋 및 푸시
  3. Pull Request 생성
  4. 코드 리뷰
  5. main에 머지

장점: 단순하고 이해하기 쉬움
단점: 릴리즈 관리가 제한적

3. Trunk-Based Development

main 브랜치 하나로 관리하는 방식입니다:

  • 짧은 수명의 브랜치만 사용
  • 하루에 여러 번 main에 머지
  • Feature Flag로 미완성 기능 관리

장점: CI/CD에 최적화
단점: 높은 수준의 테스트 자동화 필요

어떤 전략을 선택해야 할까?

상황추천 전략
소규모 팀, 빠른 배포GitHub Flow
대규모 팀, 정기 릴리즈Git Flow
CI/CD 파이프라인 구축됨Trunk-Based
혼자 개발GitHub Flow

마무리

정답인 전략은 없습니다. 팀의 규모, 프로젝트 성격, 배포 주기에 맞는 전략을 선택하고, 필요에 따라 조정하는 것이 중요합니다.

처음에는 GitHub Flow로 시작해보는 것을 추천합니다. 단순하면서도 효과적인 전략이기 때문입니다. 🌿

← Back to Blog