일반적으로 main (master) 브랜치에서 develop 브랜치를 딴 후에 feature 브랜치 위에서 추가 기능 및 수정을 합니다.
그리고 hotfix 브랜치에서는 긴급한 건을 수정하기도 합니다.
개발을 하다보면 출시를 해야할 때가 다가오는데 그럴 때는 release 브랜치를 딴 후에 작업을 합니다.
예를 들어 1.0.0 출시를 한다고 했을 때, 개발을 마친 develop 브랜치에서 release 브랜치를 땁니다.
# git branch
# main
# * develop
git checkout -b release-1.0.0
git push origin release-1.0.0 # 원격 저장소에 push
그러고 나서 main 브랜치로 이동해서 release 브랜치를 merge 하고 tag를 붙입니다.
git checkout main
git fetch
git merge --no-ff release-1.0.0
git tag -a 1.0.0 -m '메시지'
git push origin 1.0.0
tag를 통해 출시 버전을 관리할 수 있습니다.
merge가 완료된 후, develop 브랜치에서도 release 브랜치를 merge 해주면 됩니다.
main에 release 브랜치를 merge 할 때, release 브랜치를 삭제했다면
develop 브랜치에서 main 브랜치를 pull 하면 됩니다.
git checkout develop
git fetch
git pull origin main
git push origin develop
자세한 내용은 아래의 참고 자료를 확인해주세요.
추가적으로 로컬 및 원격 저장소에 브랜치가 남아있는 경우, 명령어를 통해 지울 수 있습니다.
git push origin --delete { 원격 저장소 내 브랜치 }
git branch -d { 로컬 저장소 내 브랜치 }
[참고 자료]
A successful Git branching model
In this post I present a Git branching strategy for developing and releasing software as I’ve used it in many of my projects, and which has turned out to be very successful.
nvie.com
[GIT] ⚡️ 태그 기능 및 사용법 (git tag)
git 태그(Tag) git에서 태그란 우리가 알고 있는 것처럼 무언가 표시를 해두기 위한 태깅 기능을 위한 것으로, 특정 커밋을 태그해 두는 것이다. 특정 커밋을 가리키는 링크라고 생각해도 좋다. 이
inpa.tistory.com
'인프라' 카테고리의 다른 글
Github Action & 도커 허브에 이미지 전송 (1) | 2024.05.01 |
---|---|
Docker, MySQL with 파이썬 (0) | 2024.04.24 |
클라우드 개발 서버와 동일한 설정의 운영 서버 구축 (0) | 2024.03.10 |