본문 바로가기
IT지식/개발

GIT 여러 브랜치로 서비스 하기

by 7$ 2020. 2. 12.

master 브랜치의 소스를 서비스 중 추가 개발할 항목이 생김.

 

master 브랜치에서 가지를 만든다. 새 브랜치(dev)를 생성함.

dev 브랜치에서 추가 개발을 진행 한다.

추가 개발 진행 중 서비스 중인 항목에서 이슈가 발생함.

이슈를 먼저 해결하고 배포해야 하는 상황.

 

마찬가지로 master 브랜치에서 새 브랜치(hotfix)를 만든다.

hotfix 브랜치에서 이슈를 해결한다.

커밋 > 푸시

 

 

 

deploy 서버에서 git pull 한다.

hotfix 브랜치로 checkout 한다.

hotfix 브랜치로 서비스 시작.

 

마스터에 머지하기
 

master 브랜치에서 hotfix 브랜치를 merge를 한다. 

 

 

git push

 

PUSH 한다.

 

 

 

머지가 완료 되었다.

 

deploy에서 checkout master 후 git pull 하여 머지확인.

 

웹 서버 접속 화면

 

음... master에 hotfix 머지가 잘 되었군...

 

안전하게 hotfix를 dev25에도 머지한다.

checkout dev25 > merge hotfix

 

 

 

중단 되었던 추가 개발을 dev25 브랜치에서 다시 시작한다.

추가 개발을 완료하였다. 

 

서비스 한다.
마스터에 머지 후 서비스 하려고 한다.

checkout master > dev25 merge >push

 

deploy > checkout master > git pull

 

hotfix 소스와 dev25 소스가 적용됨.

 

개발 끝.

 

사용이 끝난 브랜치는 삭제.

local 브랜치와 remote(origin) 브랜치 모두 삭제.

 

 

 

삭제 해볼까?

$ git branch -a
  develop2.0
  develop3.0
  develop5.0
  develop6.0
  hotfix2.5
  hotfix2.8
  hotfix4.8
  hotfix5.8
* master
  remotes/origin/HEAD -> origin/master
  remotes/origin/branch1
  remotes/origin/develop3.0
  remotes/origin/develop5.0
  remotes/origin/master
 
 # 로컬 삭제
 $ git branch -d develop2.0
 $ git branch -d develop3.0
  ...
 $ git branch -d hotfix5.8
 
 # 리모트 삭제
 git push origin --delete branch1
 git push origin --delete develop3.0
 git push origin --delete develop5.0

 

리모트에서 삭제된 브랜치 업데이트 하기

git remote prune origin

git remote update --prune

git fetch --prune