[Git] Git flow, Forking Workflow
Git으로 협업하기
Git flow란?
- Git Flow는 Git으로 형상관리를 할때 브랜치를 효율적으로 관리하기 위해 사용하는 브랜치 관리 전략(Branch management strategy)입니다.
살펴보기
Git branch의 종류는 아래 다섯가지가 존재한다.
- master : 제품으로 출시될 수 있는 브랜치
- develop : 다음 출시 버전을 개발하는 브랜치
- feature : 기능을 개발하는 브랜치
- release : 이번 출시 버전을 준비하는 브랜치
- hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치
Forking workflow
- 팀장의 저장소를 Fork해서 팀원마다 각각 저장소로 자유롭게 작업을 진행한 이후 최종적인 팀원의 작업 내용은 Pull requests를 통ㅇ해 팀장의 확인 후 반영된다.
팀장 💻
1. 팀장이 Repo를 생성한다.
2. 팀장이 본인의 로컬저장소에 클론을 해온다.
$ git clone <팀장 Repo url> $ cd <파일명> $ git branch
3. git flow를 이용해 작업 시작 $ git flow init
$ git flow init $ git branch <작업명> $ git status <상태 확인> $ git add <작업> $ git commit -m <커밋 내용>
4. 작업한 내용을 원격저장소에 push
$ git push -u origin develop
5. 팀원들에게 전달
팀원 💡
1. 팀장의 해당 프로젝트의 github로 이동
2. fork를 이용해 전체 저장소 복제
3. fork한 개인 원격 저장소에서 개인 로컬저장소 생성.
$ git clone <가져온 레포 url> $ cd <파일명> $ git branch /* 브렌치는 아직 생성되지 않았다. */
4. issues작성
기능에 대한 issues 작성
# Task list - [ ] do fizz - [ ] do buzz - [ ] do fizzbuzz
5. $ git flow init을 통해 초기화
$ git flow init $ ls /* develop 파일들 생성 완료 */
6. 기능 개발 시작
$ git flow feature start <작업명> /* 작업 branch 생성 */ $ vi // 작업 후 // $ git status $ git add <작업> $ git commit -m <커밋 내용>
7. 기능 개발 닫기 & 개인 원격 저장소에 push
$ git flow featur finish do-fizzbuzz $ git push -u origin develop /* 첫 push. -u를 붙여진행 */
8. 팀장에게 pull request
🌠issues개발을 끝낼 때마다 해당하는 #1 (이슈넘버) 에 대한 해결사항을 Open a pull request 에 적어줘야 한다.
#를 눌러 해당 이슈를 자동 완성할 수 있다.
팀장 Merge 후 Pull 🎯
팀장
본인 것이기 때문에 바로 pull을 받으면 된다.
$ git pull origin develop
팀원
팀원들은 remote를 해야한다.
/* 확인 */ $ git remote $ git remote -v /* 팀장의 레포 url 등록 */ $ git remote add upstream\ $ git remote -v /* upstream 당겨오기 */ $ git fetch upstream develop $ git merge FETCH_HEAD
upstream 당겨오기방법 1. pull
방법 2. fetch <- 추천!
당겨서 해당 브랜치에 반영을 바로 하는 것이 아님
당겨서 FETCH_HEAD라는 임시 브랜치에 담아놓음
FETCH_HEAD에 담긴 후에는 원하는 부분만 당겨올수도 있고 전체를 당겨올 수도 있음.
(이 때 바로 당기게 되면 pull과 동일하게 동작한 것과 같다.)
Reference
- 최우영 강사님
- [ blog ] Git을 이용한 협업 워크플로우 배우기
Author And Source
이 문제에 관하여([Git] Git flow, Forking Workflow), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@momentomori/Git-Git-flow-Forking-Workflow저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)