Wecode -기업협업 인턴 (부트캠프)/기업협업 독학, 공부

git flow 사용법 (git flow avh), 명령어

JBS 12 2023. 10. 30. 23:13

 

 

git flow 개념, branch 개념/ 종류 / 구분

git flow란? Vincent Driessen의 브랜칭 모델을 위한 고수준 저장소 작업을 제공하는 git의 확장" - merge 기반 솔루션 - feature 브랜치를 rebase하지 않음 Vincent Driessen의 브랜칭 모델에는 5개의 branch (master, dev

pm-developer-justdoit.tistory.com

git flow란?
Vincent Driessen의 브랜칭 모델을 위한 고수준 저장소 작업을 제공하는 git의 확장"

 

 

[GIT] git-flow 이해하고 사용하기

git-flow를 사용하여 동료들과 협업을 하면서 느낀 점과 사용방법을 정리해보았습니다. GIT-FLOW 란? git branch 전략 중 하나로 Vincent Driessen의 브랜칭 모델을 위한 고수준 저장소 작업을 제공하는 git의

zsunn.tistory.com

[git flow 설치]

brew install git-flow-avh

최신 버젼인 git flow avh 으로 버젼업

 

[초기화]
기존 git 저장소 내에서 초기화하는 것으로 git-flow의 사용을 시작 

git flow init

 


 

[흐름]

새 기능 개발은 dev (develop) 브랜치에서 시작 -> feature/myfeature-> feature/ myfeature 브랜치를 dev에 merge (병합0 -> feature/ myfeature브랜치 삭제


[새 기능 개발 시작] :

dev에서 시작

 

[feature branch 브랜치 생성] 

 git flow feature start  [MYFEATURE]

 

:dev에 기반한 새 기능 (feature) 브랜치 생성, 그 브랜치로 전환 

 

 

[ 개발 완료]

브랜치를 'develop'에 병합(merge) 

git flow feature finish [MYFEATURE]


finish 하면 -> develop으로 checkout(브랜치 이동) 후 merge 되고, 브랜치를 삭제됨

 

 

 

[기능 게시 publish] push 개념  pull request 필요하거나, 코드 리뷰, 브랜치 확인 위해 remote 저장소에 올리고 싶으면

git flow feature publish [MYFEATURE]

 

 

[다른 개발자가 push한 브랜치 track으로 가져오기]  pull 기능 

git flow feature pull origin [MYFEATURE]


 

 

[release] 

새로운 제품 출시 / 출시 위한 사소한 버그 수정, 메타 데이터 준비

 

- 릴리스를 시작하려면 git flow의 release 명령을 사용
- 'develop' 브랜치로부터 'release' 브랜치를 생성

 

git flow release start RELEASE [BASE]

 

 

-릴리스를 시작할 [BASE] commit sha-1 해시를 선택적으로 줄 수도  

그 commit은 반드시 'develop' 브랜치에 있어야

 

[publish]

릴리스 브랜치를 생성한 후에는 다른 개발자들의 릴리스 commit을 허용하기위해 게시(publish)하는 것이 현명

git flow release publish RELEASE

 

[원격 'release' 브랜치의 변경 추적]
git flow release track RELEASE

 

[릴리스 완료]

-'release' 브랜치를 'master' 브랜치에 병합(merge)
-릴리스를 릴리스 이름으로 태그(tag)
-릴리스를 'develop' 브랜치로 재병합(back-merge)
-'release' 브랜치 삭제


git flow release finish RELEASE


git push --tags를 사용해 태그들을 push하는 것을 잊지마세요.


[Hotfixes]
-핫픽스는 현재 출시된 제품에 문제가 생겨서 즉각 대응해야하는 상황 
-'master' 브랜치의 현재 출시된 버전으로 표기(mark)된 태그(tag)로부터 브랜치를 딴다

[핫픽스 시작]
 git flow 명령과 비슷한 방법 

git flow hotfix start VERSION [BASENAME]

- 여기서 버전 인수는 핫픽스 릴리스 이름을 지정합니다.

- 선택적으로 basename으로 시작점을 지정할 수도 있습니다.

[핫픽스 완료]
- 핫픽스 -> 'develop' 및 'master' 브랜치로 병합(merge) 

- 'master'의 병합 부분은 핫픽스 버전으로 태그됩니다.

git flow hotfix finish VERSION

 

https://danielkummer.github.io/git-flow-cheatsheet/index.ko_KR.html


git flow avh

최신 버젼인 git flow avh 으로 버젼업 

 

brew install git-flow-avh

 

[GIT] git flow 예전 버젼 지우고 git flow avh 설치 방법 (feat. SourceTree)

SourceTree 에서 기본적으로 Git Flow 를 내장해서 가지고 있으나, SourceTree 를 암만 최신버젼으로 가지고 있어도 내장되있는 Git Flow 버젼은 0.4.1 이더라.. 뭐, Git Flow 를 사용하는데 상관은 없지만, hotfix

88240.tistory.com