본문 바로가기

Engineering/Architecture

Git Branch 전략(기능별)

Git Workflow Overview

기능 개발 및 배포는 다음 프로세스를 따릅니다:

  1. 기능별 브랜치 생성 및 개발 (release 기준)
  2. 기능별 브랜치 → develop 병합 (테스트 진행)
  3. 기능별 브랜치 → release 병합 (QA 테스트 및 배포 준비)
  4. release → main 병합 (운영 배포)
  5. 운영 배포 후 안정성 확인 후 기능별 브랜치 삭제

Git Branch List

  • 배포 브랜치 (release)
  • 테스트 브랜치 (develop)
  • 운영 브랜치 (main)

1. 작업별 브랜치 생성 후 개발

개발 작업은 실제 배포가 완료된 release 브랜치를 기준으로 새 브랜치를 생성하여 진행됩니다.

# 최신 release 브랜치 가져오기
git switch release
git pull origin release

# 새 작업 브랜치 생성
git switch -c feature-branch


2. 작업 브랜치에서 develop 브랜치로 머지 (테스트)

# 최신 develop 브랜치 가져오기
git switch develop
git pull origin develop

# feature-branch 병합 (테스트용)
git merge --no-ff feature-branch

# 변경 사항 원격 저장소로 푸시
git push origin develop


3. 작업 브랜치에서 release 브랜치로 머지 (배포 준비)

# 최신 release 브랜치 가져오기
git switch release
git pull origin release

# feature-branch 병합 (배포 준비)
git merge --no-ff feature-branch

# 변경 사항 원격 저장소로 푸시
git push origin release

4. release 브랜치에서 main 브랜치로 머지 (배포)

# 최신 main 브랜치 가져오기
git switch main
git pull origin main

# release 브랜치 병합 (운영 반영)
git merge --no-ff release

# 변경 사항 원격 저장소로 푸시
git push origin main


5. 기능별 브랜치 삭제

운영 배포 후 2주간 안정성을 확인한 후 기능별 브랜치를 삭제합니다.

# 로컬 브랜치 삭제
git branch -d feature-branch

# 원격 브랜치 삭제
git push origin --delete feature-branch


6. 마이그레이션 진행

1) 마이그레이션 브랜치 생성 및 release 브랜치에 반영

# 최신 release 브랜치 가져오기
git switch release
git pull origin release

# 마이그레이션 브랜치 생성
git switch -c migration-branch

# 마이그레이션 작업 수행 후 변경 사항 커밋
# (예: DB 스키마 변경, 마이그레이션 스크립트 추가 등)
git add .
git commit -m "DB 마이그레이션 적용"

# release 브랜치로 전환 후 병합
git switch release
git pull origin release

git merge --no-ff migration-branch

# 변경 사항 원격 저장소로 푸시
git push origin release

2) 마이그레이션 완료 후 develop과 main에 반영 및 배포

  • develop 브랜치 반영:
# 최신 develop 상태 가져오기
git switch develop
git pull origin develop

# release 브랜치 병합
git merge --no-ff release

# 변경 사항 원격 저장소로 푸시
git push origin develop

  • main 브랜치 반영:
# 최신 main 상태 가져오기
git switch main
git pull origin main

# release 브랜치 병합
git merge --no-ff release

# 변경 사항 원격 저장소로 푸시
git push origin main

'Engineering > Architecture' 카테고리의 다른 글

Git branch 전략(개인브랜치별)  (0) 2025.03.19
Git Branch 네이밍 규칙  (2) 2025.03.19
Git PR 템플릿  (0) 2025.03.19
Git Commit 컨벤션  (0) 2025.03.19