git flow를 이용한 협업

껌뻑이·2021년 7월 29일
0

git

목록 보기
4/4
post-thumbnail

git flow를 이용한 협업

git flow란?

git flow는 서로 간의 약속인 방법론이다.
더 효과적인 소스코드 관리를 위해 브랜치를 관리해 주는 것이다.

git flow 브랜치 구조

이미지 참조 블로그

master or main

  • 최종적으로 배포가 되는 브랜치이다. release 브랜치에서 테스트를 완료 후에 해당 브랜치로 merge가 된다.

hotfix

  • 이름 그대로 갑자기 오류가 발생하여 급하게 수정사항이 있을 경우 사용하는 브랜치이다.

release

  • master 브랜치로 가기전 전체적인 테스트를 하는 곳이다.
    여기서 tag도 생성하여 어떠한 점이 수정되었는지 표시할 수 있다.

develop

  • 개발자들이 feature에서 개발한 기능들을 합치는 개발 브랜치이다.

feature

  • 실제 개발자들이 기능을 개발하는 브랜치이다. 개발 후 devlop 브랜치로 merge한다.

git flow 진행 구조

이미지 참조 블로그

팀장과 팀원들이 개발한다고 가정하자.

  1. 팀장이 github저장소 만들다
  2. 그 후 팀원들이 그 저장소를 fork한다.
  3. fork한 저장소를 로컬에서 개발한다.
  4. 개발이 끝나면 팀장의 저장소에 PR을 날린다.
    (5). 팀장이 확인 후 merge하거나 팀원이 다시 개발한다.

git flow tool를 이용해 혼자서 연습하기

git flow 다운로드

brew install git-flow-avh
# git flow 다운

fork한 저장소에 git flow 설치

git flow init

# 여러 브랜치 명에 대한 질문이 나오는데 []안에 이름이 있으면 그냥 enter, 없으면 이름을 입력해준다.

개발 진행해 보기, feature

  1. feature 브랜치 생성
git flow feature start [name]

해당 git의 브랜치는 생성한 브랜치로 자동으로 바뀐다.

  1. 개발 후 add & commit 해주기
  1. feature 브랜치 끝내기
git flow feature finish [name]

git flow feature finish를 하면 자동으로 develop 브랜치에 merge가 되고 브랜치는 삭제된다.

release 사용하기

  1. release 생성
git flow release start [name]
  1. 테스트 해보기

  2. release 끝내기

git flow release finish [name]

release를 끝내는 명령어를 치면 merge 메시지를 입력하는 것과 tag 메시지를 입력하는 부분이 나오니깐 입력내용 있으면 입력
commit 후 자동으로 develop와 master에 merge가 되어 있다.

  1. tag push하기
git push --tags

저장소에 올리기

git push origin develop
# develop 브랜치 push

git checkout master
# master 브랜치로 바꾸기

git push origin master
# master 브랜치 push

마무리

이렇게 git flow를 이용해서 협업을 하면 브랜치마다의 역할이 확실하게 정해져 있고, 툴을 이용하면 자동으로 브랜치 생성과 merge까지 도와주니 적응만 된다면 소스코드 관리과 협업에 매우 효과적일것 같다.

0개의 댓글