Git Workflow Overview
기능 개발 및 배포는 다음 프로세스를 따릅니다:
- 기능별 브랜치 생성 및 개발 (release 기준)
- 기능별 브랜치 → develop 병합 (테스트 진행)
- 기능별 브랜치 → release 병합 (QA 테스트 및 배포 준비)
- release → main 병합 (운영 배포)
- 운영 배포 후 안정성 확인 후 기능별 브랜치 삭제
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 |