많은 사람들이 프로젝트에서 git flow를 사용했다고 소개한다.
정확히 어떤 것인지 알고 사용해보자.
Git-flow 란?
Git으로 개발할 때 사용되는 방법론으로 완벽하게 따라할 필요는 없고
각자 개발 환경에 따라 변형해서 사용하면 된다.
5가지의 브랜치를 사용한다.
- master : 기준이 되는 브랜치로 제품을 배포
- develop : 개발 브랜치로 개발자들이 이 브랜치를 기준으로 각자 작업한 기능들을 합칩니다. (Merge)
- feature : 단위 기능을 개발하는 브랜치 (develop으로 merge)
- release : 배포를 위해 master 브랜치로 보내기 전에 먼저 QA(품질검사)
- hotfix : master 브랜치로 배포 후 버그가 생겼을 때 수정
IntelliJ 에서 Git-flow
1. git-flow 설치
brew로 git flow avh를 설치했다.
brew install git-flow-avh
처음에 brew install git-flow
로 git-flow를 설치하니 버전이 0.4.1이라 안된다는 메시지가 떴다.
찾아보니 git-flow-avh를 설치하라는 가이드가 나오는데 설치하고보니 다음과 같은 차이가 있었다.
-
git flow
hotfix를 dev와 master에 각각 merge를 한다.
(즉, 가지가 hotfix하나에서 dev와 master branch로 두갈래 나뉘어진다.)
-
git flow avh
hotfix가 dev branch로 merge되고, hotfix가 merge된 dev branch를 master branch에 머지한다.
즉,hotfix > dev > master
순이다.
2. git flow init 에러 해결
현재 git flow avh를 설치하니 git flow 버전은 1.12.3
이다.
git flow init 시에 에러가 발생했는데, ~/.gitflow_export
에 FLAGS_GET_OPT_CMD
환경 변수가 있는 것이 원인이었다.
삭제 후에 정상적으로 작동한다.
- issue: https://github.com/fork-dev/Tracker/issues/418
- Post installation setup: https://github.com/petervanderdoes/gitflow-avh/wiki/Installing-on-Mac-OS-X#post-installation-setup
3. IntelliJ 플러그인 사용하기
git-flow-integration 플러그인을 사용하자.
플러그인 설치 후, 오른쪽 하단에 Gitflow가 생긴다.
Init Repo
클릭 후, 설정하면 된다.
기본 옵션은 Git Flow 규칙을 따르기 때문에 기본 규칙을 따른다면 OK
를 클릭하면 된다.
develop을 확인할 수 있다.
앞에서 봤던 feature, release 등을 확인할 수 있다.