GitFlow

김광일·2024년 12월 16일
0

정보 공유

목록 보기
4/6
post-thumbnail

일자 : 241216 (월)

1. Gitflow

1) 개념 설명

GitFlow의 5개 브랜치 전략 (by Vincent Driessen)
1. main: 최종 배포 버전을 관리.
2. develop: 개발 중인 기능들을 통합하는 브랜치.
3. feature: 신기능 개발을 위한 브랜치.
4. release: 배포 전 테스트를 위한 브랜치.
5. hotfix: 긴급 수정 브랜치.

신기능 개발 프로세스

  • develop 브랜치에서 feature 브랜치를 생성 후 기능 개발 진행.
  • 개발이 완료되면 feature 브랜치를 develop에 병합.
  • 배포 준비가 되면 release 브랜치를 생성하여 테스트 수행 후 develop 및 main 브랜치에 병합.

긴급 수정 프로세스

  • main 브랜치에서 hotfix 브랜치를 생성하여 수정 작업 진행.
  • 수정 후 hotfix 브랜치를 develop 및 main 브랜치에 병합.

특징

  • 장점 : 안정적인 버전 관리 및 배포 가능.
  • 단점 : CI/CD 환경에서는 비효율적일 수 있음.
  • 참고 : 반드시 release 브랜치를 사용할 필요는 없음.

2) 예시 상황

  • 신기능 개발: 신규 로그인 기능을 추가해야 하는 경우, develop 브랜치에서 feature/login 브랜치를 생성하여 작업.
  • 배포 준비: 로그인 기능 개발 완료 후, release 브랜치를 생성해 테스트 진행 후 develop 및 main 브랜치에 병합`
  • 긴급 수정: 배포된 서비스에서 심각한 버그가 발견된 경우, main 브랜치에서 hotfix/bug-fix 브랜치를 생성하여 수정 후 main과 develop에 병합.

2. Trunk-based

1) 개념 설명

Trunk-based 전략

  • 브랜치를 최소화하고 main 브랜치 중심으로 관리.

주요 방식

  • main 브랜치에서 feature 브랜치를 생성하여 기능 구현.
  • 구현 완료 후 feature 브랜치를 main 브랜치에 병합.
  • 사용자에게 main 브랜치에서 배포된 버전 제공.

특징

  • 장점 : 코드가 한 곳(main 브랜치)에 모여 있어 관리가 용이.
  • 단점 : 잦은 테스트와 빠른 피드백 필요.

2) 예시 상황

  • 신기능 개발: 쇼핑몰에서 상품 리뷰 기능을 추가하는 경우, main 브랜치에서 feature/review 브랜치를 생성하여 작업.
  • 배포: 리뷰 기능 개발이 완료되면 바로 main 브랜치에 병합하여 테스트 후 배포.
  • 버그 수정: 배포된 서비스에서 오류가 발견되면, main 브랜치에서 직접 수정 후 바로 배포.

참고 영상

profile
안녕하세요, 사용자들의 문제 해결을 중심으로 하는 프론트엔드 개발자입니다. 티스토리로 전환했어요 : https://pangil-log.tistory.com

0개의 댓글