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 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]
$ 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 버전의 배포를 시작합니다.
마이너 체인지
이전 버전에서 약간의 변화된 내용을 업그레이드 하는 것으로 뒷자리를 변경
ex) v0.1
메이저 체인지
없던 기능 추가 or 있던 기능 드랍 등 많이 변화가 있을 때 앞자리를 변경
ex) v1.0
$ git flow release finish VERSION_NAME
위의 명령어를 입력하면 release 브랜치를 master 또는 main 브랜치에 merge할 수 있습니다. 이후 release, tag, develop 정보 입력 후 release 브랜치가 삭제됩니다.
새로운 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하기
팀원들은 팀장의 새로운 repository를 fork를 이용해 자신의 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 버튼을 누르면 됩니다.