-
Notifications
You must be signed in to change notification settings - Fork 4
git flow
Jin edited this page Oct 27, 2020
·
1 revision
-
git-flow를 잘 몰라서 git-flow를 학습하였습니다.
-
git-flow의 브랜치
- master : 제품으로 출시될 수 있는 브랜치
- develop : 다음 출시 버전을 개발하는 브랜치
- feature : 기능을 개발하는 브랜치
- release : 이번 출시 버전을 준비하는 브랜치
- hotfix : 출시 버전에서 발생한 버그를 수정 하는 브랜치
-
git-flow의 진행과정
-
- master와 develop 브랜치가 존재합니다.
-
- develop는 새로운 기능 추가 브랜치가 있을 경우 develop에서 feature 브랜치를 생성합니다.
-
- feature가 다 개발이 될 경우 develop에 merge(pull request)를 진행합니다.
-
- develop 브랜치에서 release 브랜치로 QA를 진행합니다.
-
- release 브랜치에서 QA를 진행이 완료되면 develop 브랜치와 master 브랜치에 merge합니다.
-
-
Repositories
- upstream (Upstream Repository)
- origin (Origin Repository)
-
Branches
- feature-user (사용자 관련 기능을 구현하는 feature branch)
- bfm-100_login_layout (사용자 관련 기능 중 레이아웃 작업 branch)
-
upstream/feature-user 브랜치에서 작업 브랜치(bfm-100_login_layout)를 생성합니다. (feature-user)]gitfetchupstream(feature−user)] git checkout -b bfm-100_login_layout --track upstream/feature-user
-
작업 브랜치에서 소스코드를 수정합니다. (뚝딱뚝딱 🔨)
-
작업 브랜치에서 변경사항을 커밋합니다. (보통은 vi editor에서 커밋 메세지를 작성 함)
- (bfm-100_login_layout)]$ git commit -m “BFM-100 로그인 화면 레이아웃 생성”
-
만약 커밋이 불필요하게 어려 개로 나뉘어져 있다면 squash를 합니다. (커밋 2개를 합쳐야 한다면)
- squash란 여러 개의 커밋 메시지를 하나로 합치게 해주는 명령어
- squash란 명령은 따로 없고, 다음의 명령어를 통해서 하나로 합쳐줌
- squash관련 문서
- (bfm-100_login_layout)]$ git rebase -i HEAD~2
-
작업 브랜치를 upstream/feature-user에 rebase합니다.
- git pull --rebase == git fetch + git rebase
- git pull == git fetch + git merge
- (bfm-100_login_layout)]$ git pull --rebase upstream feature-user
-
작업 브랜치를 origin에 push합니다.
- (bfm-100_login_layout)]$ git push origin bfm-100_login_layout
-
Github에서 bfm-100_login_layout 브랜치를 feature-user에 merge하는 Pull Request를 생성합니다.
- 같은 feature를 개발하는 동료에게 리뷰 승인을 받은 후 자신의 Pull Request를 merge합니다. 만약 혼자 feature를 개발한다면 1~2명의 동료에게 리뷰 승인을 받은 후 Pull
- Request를 merge합니다.
🏠Home
📝 제품백로그
📖 Api docs
😄일일 회의록
😠일일 회고
👼데일리 스크럼
☔데모
- 1주차 데모 생략
- 2주차 데모 2020.11.06
- 3주차 마지막 데모 2020.11.13