[Megabyte School] Git을 활용한 버전관리3 : Git flow 알아보기

Git flow 설치하기

Git flow를 사용하기 위해서는 설치가 필요합니다. MacOS의 경우 Homebrew를 통해 설치해주세요.

$ brew install git-flow-avh

위의 명령어를 입력했을 때, 아래와 같은 에러가 나타날 수 있습니다.

Cannot install under Rosetta 2 in ARM default prefix (/opt/homebrew)!
To rerun under ARM use:

이럴경우 아래 명령어로 git flow를 설치해주세요.

$ arch -arm64 brew install git-flow-avh

Git flow 시작하기

git flow의 사용을 위해 아래 명령어를 입력해주세요.

$ git flow init

명령어 입력 후, 아래와 같은 몇가지 질문에 응답해주시면 됩니다.

Branch name for production releases: [main] 
Branch name for "next release" development: [develop] 
How to name your supporting branch prefixes?
Feature branches? [feature/] 
Bugfix branches? [bugfix/] 
Release branches? [release/] 
Hotfix branches? [hotfix/] 
Support branches? [support/] 
Version tag prefix? [] 
Hooks and filters directory? [/Users/Documents/dev/branch-name/.git/hooks] 

새 기능(feature) 시작하기

$ git flow feature start BRANCH_NAME

위와 같은 명령어로 'develop'에 기반한 새 기능(feature) 브랜치를 생성하고 해당 브랜치로 전환할 수 있습니다.

기능 완료하기

$ git flow feature finish BRANCH_NAME

위의 명령어로 개발을 완료합니다. BRANCH_NAME을 develop branch에 가져와 merge하게됩니다.

배포 시작하기

$ git flow release start VERSION_NAME

VERSION_NAME 버전의 배포를 시작합니다.

▶versioning 규칙

마이너 체인지
이전 버전에서 약간의 변화된 내용을 업그레이드 하는 것으로 뒷자리를 변경
ex) v0.1


메이저 체인지
없던 기능 추가 or 있던 기능 드랍 등 많이 변화가 있을 때 앞자리를 변경
ex) v1.0

배포 완료하기

$ git flow release finish VERSION_NAME

위의 명령어를 입력하면 release 브랜치를 master 또는 main 브랜치에 merge할 수 있습니다. 이후 release, tag, develop 정보 입력 후 release 브랜치가 삭제됩니다.

Git flow로 협업하기

▶ 팀장 역할

새로운 repository 만들기
새로운 repository를 만들어 git flow를 이용해 develop branch를 만듭니다.

$ git clone [ 새로운 repository 주소 ]
$ cd NEW_REPOSITORY
$ git flow init
$ touch FILE_NAME
$ git add FILE_NAME
$ git commit
$ git push -u origin develop

▶ 팀원 역할

팀장 github repository에서 fork하기
팀원들은 팀장의 새로운 repositoryfork를 이용해 자신의 github 계정의 repository로 가져옵니다.

Issue 등록하기
팀원들은 팀장의 repository에서 issue항목을 통해 자신이 해야 할 목록을 markdown 문법을 통해 작성할 수 있습니다.

Develop 브랜치 환경에서 코드 작성하기

$ git clone [ fork한 repository 주소]
$ cd NEW_REPOSITORY
$ git flow init 
$ git flow feature strat NEW_NAME

~~~~~~~~~~[ 코드 작성 ]~~~~~~~~~~

$ git add FILE_NAME
$ git commit
$ git flow feature finish NEW_NAME
$ git push -u origin develop

팀장 repository로 보내기
Github repository => Pull request => New pull request
이후 선택 항목에서 main을 develop으로 바꾼 뒤 팀장에게 보낼 메세지를 작성하고 보내면 됩니다.

▶ 팀장 역할

팀원 응답사항 확인하기
팀원이 보낸 응답사항을 확인하고, 보충사항이 있으면 팀원에게 피드백을 줄 수 있습니다. 이것을 팀장 repository에 합치기 위해서는 Merge pull request 버튼을 누르면 됩니다.

좋은 웹페이지 즐겨찾기