본문 바로가기
인프라

Git, release 브랜치 관리하기

by 스티브 십잡스 2024. 5. 16.

일반적으로 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