- 브랜치 전략:
- 'development' 브랜치가 주요 개발 브랜치로 사용되는 것 같아요.
- 각 기능이나 이슈별로 별도의 브랜치를 만들어 작업하는 것으로 보입니다.
- 작업 흐름:
- 새로운 기능이나 버그 수정을 위한 브랜치를 생성합니다.
- 해당 브랜치에서 작업을 수행하고 커밋합니다.
- 작업이 완료되면 Pull Request를 생성합니다.
- 코드 리뷰 후 승인되면 'development' 브랜치로 병합됩니다.
- 커밋 메시지 규칙:
- "[BE-xxxx][BE-yyyy] 작업 내용" 형식을 사용하고 있어요.
- 첫 번째 괄호는 큰 프로젝트나 에픽을, 두 번째는 세부 태스크를 나타내는 것 같습니다.
- 풀 리퀘스트 사용:
- 번호가 붙은 커밋 메시지(예: "#1424")는 풀 리퀘스트를 통해 병합되었음을 나타냅니다.
형상관리 방법
기능 추가 개발 방법
- 최신 'development' 브런치에서 새브런치를 만듭니다.
git checkout development
git pull origin development
git checkout -b feature/BE-xxxx-brief-description
- 브런치에서 작업하고 자주 커밋합니다. 커밋 메시지는 규칙을 따릅니다.
git commit -m "feature/{jira-issue-num}/{git-title-name}: 설명"
- 작업이 끝나면 'development' 브랜치의 최신 변경사항을 가져와 병합합니다.
- 로컬 development 브랜치 최신 사항을 적용후 rebase
git checkout development
# development 최신사항 반영하고 rebase
git pull origin development
git rebase origin/development
- 로컬 development 브랜치 최신 사항을 적용후 rebase
- 기능 브랜치로 돌아가 로컬 development 브랜치 내용을 병합
# development의 최신사항을 기능버전에 반영하기 위해 병합.
git checkout feature/BE-123/debug-issue-fixed
git merge development
- 문제가 없다면 브런치를 푸시하고 풀 리퀘스트를 생성합니다.
git push origin feature/BE-123/debug-issue-fixed
- 코드 리뷰후 승인되면 'development' 브랜치로 병합됩니다.
- 병합된 브랜치는 삭제합니다.
# 로컬 브런치 삭제
git branch -d feature/BE-123/debug-issue-fixed
# 원격 브런치 삭제.
git push origin --delete feature/BE-123/debug-issue-fixed
hotfix 방법 (버그수정작업)
- 버그가 발견된 릴리즈 버전 확인
- 예: 'v2.17.54' 버전에서 버그가 발견되었습니다.
- 해당 버전의 태그로 부터 새 브랜치 생성
# 원격 저장소의 최신 태그를 가져오기
git fetch --tags
# 'v2.17.54' 태그 시점에서 'hotfix-2.17.55'라는 새 브랜치를 만들어 작업을 시작
git checkout -b hotfix-2.17.55 v2.17.54
- 수정 사항 커밋
# 커밋 메시지에 **이슈 원인과 해결책**을 간략히 추가
git commit -m "hotfix/2.17.55/BE-333/login-bug: 로그인 버그 원인 수정 (세션 만료 처리)"
- 버그 수정에 따른 버전번호 업데이트
- 패치 버전을 올립니다. (예: 2.17.54 -> 2.17.55)
- version.txt 수정하고 커밋
git commit -m "hotfix/2.17.55/버전 업데이트: 2.17.55"
- hotfix 브랜치를 주요 브랜치에 병합
git checkout master
git rebase hotfix-2.17.55
git checkout development
git rebase hotfix-2.17.55
- 새 버전 태그 생성
git tag -a v2.17.55 -m "버전 2.17.55: 셔플링 오류 처리"
- 변경사항 푸시
git push origin master
git push origin development
git push origin --tags
- hotfix 브랜치 삭제
git branch -d hotfix-2.17.55