2017. 12. 1. 23:11ㆍGit
Gitflow Workflow
Gitflow Workflow는 nvie.com의 빈센트 드리센(Vincent Driessen)이 제안한 것이다.
Gitflow Workflow는 코드 릴리스를 중심으로 좀 더 엄격한 브랜칭 모델을 제시한다.
Feature Branch Workflow보다 복잡하긴하지만, 대형 프로젝트에도 적용할 수 있는 강건한 작업 절차다.
3.1. 작동원리
Gitflow Workflow도 팀 구성원간의 협업을 위한 창구로 중앙 저장소를 사용한다.
또 다른 워크플로우와 마찬가지로 로컬 브랜치에서 작업하고 중앙 저장소에 푸시한다.
단지 브랜치의 구조만 다를 뿐이다.
3.2. 이력을 기록하는 브랜치
master 브랜치 뿐만아니라, 이 워크플로우에서는 두 개의 다른 브랜치도 변경 이력을 유지하기 위해 사용한다.
master 브랜치는 릴리스 이력을 관리하기 위해 사용하고, develop 브랜치는 기능 개발을 위한 브랜치들을 병합하기 위해 사용한다.
그래서, master 브랜치는 릴리스 태그를 매기기에 아주 적합하다.
이 워크플로우의 모든 작업 절차들은 master 와 develop 두 개의 브랜치를 대상으로 한다.
3.3. 기능 브랜치
새로운 기능은 각각의 브랜치에서 개발하고 백업 및 협업을 위해서 중앙 저장소에 푸시한다.
그런데, master 브랜치에서 기능 개발을 위한 브랜치를 따는 것이 아니라, develop 브랜치에서 딴다.
그리고, 기능 개발이 끝나면 다시 develop 브랜치에 작업 내용을 병합한다.
바꾸어 말하면, 기능 개발을 위한 브랜치는 master 브랜치와는 어떤 상호 작용도 하지 않는다.
Feature Branch Workflow라면 develop 브랜치에 개발한 기능을 병합하는 것으로 모든 과정이 끝날테지만, Gitflow Workflow는 아직 할 일이 더 남아 있다.
3.4. 릴리즈 브랜치
develop 브랜치에 릴리스를 할 수 있는 수준만큼 기능이 모이면(또는 정해진 릴리스 일정이 되면), develop 브랜치를 기준으로 릴리스를 위한 브랜치를 딴다.
이 브랜치를 만드는 순간부터 릴리스 사이클이 시작되고, 버그 수정, 문서 추가 등 릴리스와 직접적으로 관련된 작업들을 제외하고는 이 브랜치에 새로운 기능을 추가 병합하지 않는다.
릴리스 준비가 완료되면 master 브랜치에 병합하고 버전 태그를 부여한다.
그리고, 릴리스를 준비하는 동안 develop 브랜치가 변경되었을 수 있으므로 develop 브랜치에도 병합한다.
릴리스를 위한 전용 브랜치를 사용함으로써 한 팀이 릴리스를 준비하는 동안 다른 팀은 다음 릴리스를 위한 기능 개발을 계속할 수 있다.
즉, 딱딱 끊어지는 개발 단계를 정의하기에 아주 좋다.
예를 들어, 이번 주에 버전 4.0 릴리스를 목표로한다라고 팀 구성원들과 쉽게 소통하고 합의할 수 있다는 말이다.
릴리스 브랜치는 release-* 또는 release/* 처럼 이름 짓는 것이 일반적인 관례다.
3.5. 유지 보수를 위한 브랜치
운영 환경에 릴리스한 후 발견된 긴급 패치는 ‘hotfix’ 브랜치를 이용한다.
‘hotfix’ 브랜치만 master 에서 바로 딸 수 있다.
패치가 준비되면 master 와 develop 브랜치 양쪽에 병합하고, 새로운 버전 이름으로 태그를 매겨야 한다.
버그 수정만을 위한 브랜치를 따로 만들었기때문에, 다음 릴리스를 위해 개발하던 작업 내용에 전혀 영향을 주지 않는다.
‘hotfix’ 브랜치는 master 브랜치를 부모로 하는 임시 브랜치라고 생각하면 된다.
3.6. 연습
develop 브랜치 생성
git develop branch
git push -u origin develop
develop에서 특정 기능 담당하는 feature브랜치 생성
git checkout -b plus develop
plus 브랜치와 같이 특정 기능 작업이 마무리되면 develop에 병합을 하면 된다.
git pull origin develop
git checkout develop
git merge plus
git push
git branch -d plus
기능 브랜치를 병합하기 전에 반드시 로컬 develop브랜치에 중앙 저장소의 변경 내용을 반영해서 최신 상태로 만들어야 한다.
master에 직접 병합하지 않도록 주의해야 한다.
병합할 때 충돌이 발생하면 Centralized Workflow에서 본 바와 같이 해결한다.
Release 브랜치
최종 테스트를 하거나, 문서를 수정하는 등 릴리스와 관련된 여러 가지 작업들을 처리하기 위한 격리 공간이다.
Release 브랜치를 만든 이후에 develop 브랜치에 병합된 기능은 릴리스 대상에서 제외된다.
이번에 포함되지 않은 기능들은 다음 릴리스에 포함된다.
git checkout -b release-0.1 develop
릴리스 브랜치는 기능 개발(develop)과 프로젝트의 공식 릴리스 사이의 가교 역할을 한다.
master 브랜치에 병합할 때는 태그를 부여하는 것이 나중을 위해서 여러 모로 편리하다.
git tag -a 0.1 -m "Initial public release" master
git push --tags
master 브랜치를 기준으로 유지 보수 브랜치를 만들고, 버그를 수정하고 커밋한다.
버그 수정이 끝나면 master 브랜치에 바로 병합한다.
릴리스 브랜치와 마찬가지로, 유지 보수 브랜치에서의 변경 사항은 개발 중인 기능에도 반영되어야 하므로 develop 브랜치에도 병합해야 한다.
병합이 끝나면 유지 보수 브랜치는 삭제해도 좋다.
우아한 형제들 '배달의 민족' 안드로이드 모바일 파트 개발팀 또한 Gitflow workflow를 사용하고 있다고 한다.
terminal로 작업한 gitflow
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git branch develop
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git push -u origin develop
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/ninetyfivejae/GitCollaboratingWorkflows.git
* [new branch] develop -> develop
Branch develop set up to track remote branch develop from origin.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git checkout -b develop origin/develop
fatal: A branch named 'develop' already exists.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git checkout develop
Switched to branch 'develop'
Your branch is up-to-date with 'origin/develop'.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git checkout -b plus develop
Switched to a new branch 'plus'
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git status
On branch plus
nothing to commit, working tree clean
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git add plus
fatal: pathspec 'plus' did not match any files
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git commit
On branch plus
nothing to commit, working tree clean
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git add plus
fatal: pathspec 'plus' did not match any files
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git add GitCollaboratingWorkflows
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git commit -m"Plus operation added"
[plus 6bad15e] Plus operation added
1 file changed, 21 insertions(+)
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git push -u origin plus
Counting objects: 12, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (12/12), 1.28 KiB | 0 bytes/s, done.
Total 12 (delta 3), reused 0 (delta 0)
remote: Resolving deltas: 100% (3/3), completed with 3 local objects.
To https://github.com/ninetyfivejae/GitCollaboratingWorkflows.git
* [new branch] plus -> plus
Branch plus set up to track remote branch plus from origin.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git checkout -b minus develop
Switched to a new branch 'minus'
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git add GitCollaboratingWorkflows
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git commit -m"Minus operation added"
[minus d000bf7] Minus operation added
1 file changed, 53 insertions(+)
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git push -u origin minus
Counting objects: 12, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (12/12), 1.37 KiB | 0 bytes/s, done.
Total 12 (delta 3), reused 0 (delta 0)
remote: Resolving deltas: 100% (3/3), completed with 3 local objects.
To https://github.com/ninetyfivejae/GitCollaboratingWorkflows.git
* [new branch] minus -> minus
Branch minus set up to track remote branch minus from origin.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git checkout -b multiply develop
Switched to a new branch 'multiply'
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git add GitCollaboratingWorkflows
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git commit -m"Multiply operation added"
[multiply a9250ff] Multiply operation added
1 file changed, 54 insertions(+), 1 deletion(-)
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git push -u origin multiply
Counting objects: 12, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (12/12), 1.37 KiB | 0 bytes/s, done.
Total 12 (delta 3), reused 0 (delta 0)
remote: Resolving deltas: 100% (3/3), completed with 3 local objects.
To https://github.com/ninetyfivejae/GitCollaboratingWorkflows.git
* [new branch] multiply -> multiply
Branch multiply set up to track remote branch multiply from origin.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git status
On branch multiply
Your branch is up-to-date with 'origin/multiply'.
nothing to commit, working tree clean
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git checkout develop
Already on 'develop'
Your branch is up-to-date with 'origin/develop'.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git merge plus
Updating 3c7b8fa..6bad15e
Fast-forward
.../src/main/java/com/example/jaehyukshin/gitcollaboratingworkflows/MainActivity.java | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git status
On branch develop
Your branch is ahead of 'origin/develop' by 1 commit.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git push
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/ninetyfivejae/GitCollaboratingWorkflows.git
3c7b8fa..6bad15e develop -> develop
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git push -u origin develop
Branch develop set up to track remote branch develop from origin.
Everything up-to-date
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git checkout -b release-0.1 develop
Switched to a new branch 'release-0.1'
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git status
On branch release-0.1
nothing to commit, working tree clean
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git add GitCollaboratingWorkflows
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git commit -m"Project for release version 0.1"
[release-0.1 7589d05] Project for release version 0.1
1 file changed, 3 insertions(+)
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git push -u origin release-0.1
Counting objects: 12, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (12/12), 997 bytes | 0 bytes/s, done.
Total 12 (delta 4), reused 0 (delta 0)
remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
To https://github.com/ninetyfivejae/GitCollaboratingWorkflows.git
* [new branch] release-0.1 -> release-0.1
Branch release-0.1 set up to track remote branch release-0.1 from origin.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git merge release-0.1
Updating 3c7b8fa..7589d05
Fast-forward
.../main/java/com/example/jaehyukshin/gitcollaboratingworkflows/MainActivity.java | 24 ++++++++++++++++++++++++
1 file changed, 24 insertions(+)
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git push
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/ninetyfivejae/GitCollaboratingWorkflows.git
3c7b8fa..7589d05 master -> master
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git checkout develop
Switched to branch 'develop'
Your branch is up-to-date with 'origin/develop'.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git merge release-0.1
Updating 6bad15e..7589d05
Fast-forward
.../app/src/main/java/com/example/jaehyukshin/gitcollaboratingworkflows/MainActivity.java | 3 +++
1 file changed, 3 insertions(+)
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git push
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/ninetyfivejae/GitCollaboratingWorkflows.git
6bad15e..7589d05 develop -> develop
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git branch -d release-0.1
Deleted branch release-0.1 (was 7589d05).
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git tag -a 0.1 -m "Initial public release" master
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git push --tags
Counting objects: 1, done.
Writing objects: 100% (1/1), 171 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To https://github.com/ninetyfivejae/GitCollaboratingWorkflows.git
* [new tag] 0.1 -> 0.1
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git merge minus
Auto-merging GitCollaboratingWorkflows/app/src/main/java/com/example/jaehyukshin/gitcollaboratingworkflows/MainActivity.java
CONFLICT (content): Merge conflict in GitCollaboratingWorkflows/app/src/main/java/com/example/jaehyukshin/gitcollaboratingworkflows/MainActivity.java
Automatic merge failed; fix conflicts and then commit the result.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git status
On branch develop
Your branch is up-to-date with 'origin/develop'.
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: GitCollaboratingWorkflows/app/src/main/java/com/example/jaehyukshin/gitcollaboratingworkflows/MainActivity.java
no changes added to commit (use "git add" and/or "git commit -a")
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git status
On branch develop
Your branch is up-to-date with 'origin/develop'.
You have unmerged paths.
(fix conflicts and run "git commit")
(use "git merge --abort" to abort the merge)
Unmerged paths:
(use "git add <file>..." to mark resolution)
both modified: GitCollaboratingWorkflows/app/src/main/java/com/example/jaehyukshin/gitcollaboratingworkflows/MainActivity.java
no changes added to commit (use "git add" and/or "git commit -a")
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git commit -m"Merged minus into develop. Plus operation and minus operation is organized"
U GitCollaboratingWorkflows/app/src/main/java/com/example/jaehyukshin/gitcollaboratingworkflows/MainActivity.java
error: Committing is not possible because you have unmerged files.
hint: Fix them up in the work tree, and then use 'git add/rm <file>'
hint: as appropriate to mark resolution and make a commit.
fatal: Exiting because of an unresolved conflict.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git status
On branch develop
Your branch is ahead of 'origin/develop' by 2 commits.
(use "git push" to publish your local commits)
nothing to commit, working tree clean
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git merge multiply
Auto-merging GitCollaboratingWorkflows/app/src/main/java/com/example/jaehyukshin/gitcollaboratingworkflows/MainActivity.java
CONFLICT (content): Merge conflict in GitCollaboratingWorkflows/app/src/main/java/com/example/jaehyukshin/gitcollaboratingworkflows/MainActivity.java
Automatic merge failed; fix conflicts and then commit the result.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git push -u origin develop
Counting objects: 24, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (16/16), done.
Writing objects: 100% (24/24), 2.13 KiB | 0 bytes/s, done.
Total 24 (delta 8), reused 0 (delta 0)
remote: Resolving deltas: 100% (8/8), completed with 4 local objects.
To https://github.com/ninetyfivejae/GitCollaboratingWorkflows.git
7589d05..b3ad2ee develop -> develop
Branch develop set up to track remote branch develop from origin.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git checkout -b release-0.2 develop
Switched to a new branch 'release-0.2'
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git add GitCollaboratingWorkflows
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git commit -m"Project release version 0.2 is organized. Plus, minus, multiply operation method is added"
[release-0.2 f7b2f56] Project release version 0.2 is organized. Plus, minus, multiply operation method is added
1 file changed, 3 insertions(+), 1 deletion(-)
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git push -u origin release-0.2
Counting objects: 12, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (12/12), 956 bytes | 0 bytes/s, done.
Total 12 (delta 4), reused 0 (delta 0)
remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
To https://github.com/ninetyfivejae/GitCollaboratingWorkflows.git
* [new branch] release-0.2 -> release-0.2
Branch release-0.2 set up to track remote branch release-0.2 from origin.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git merge release-0.2
Updating 7589d05..f7b2f56
Fast-forward
.../com/example/jaehyukshin/gitcollaboratingworkflows/MainActivity.java | 43 +++++++++++++++++++++++++++++++++--
1 file changed, 41 insertions(+), 2 deletions(-)
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git push
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/ninetyfivejae/GitCollaboratingWorkflows.git
7589d05..f7b2f56 master -> master
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git checkout develop
Switched to branch 'develop'
Your branch is up-to-date with 'origin/develop'.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git merge release-0.2
Updating b3ad2ee..f7b2f56
Fast-forward
.../app/src/main/java/com/example/jaehyukshin/gitcollaboratingworkflows/MainActivity.java | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git push
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/ninetyfivejae/GitCollaboratingWorkflows.git
b3ad2ee..f7b2f56 develop -> develop
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git branch -d release-0.2
Deleted branch release-0.2 (was f7b2f56).
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git tag -a 0.2 -m "Second public release" master
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git push --tags
Counting objects: 1, done.
Writing objects: 100% (1/1), 171 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To https://github.com/ninetyfivejae/GitCollaboratingWorkflows.git
* [new tag] 0.2 -> 0.2
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git checkout -b issue-#001 master
Switched to a new branch 'issue-#001'
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git add GitCollaboratingWorkflows
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git commit -m"Fixed the plus operation bug"
[issue-#001 4f02706] Fixed the plus operation bug
1 file changed, 9 insertions(+), 6 deletions(-)
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git push -u origin issue-#001
Counting objects: 12, done.
Delta compression using up to 4 threads.
Compressing objects: 100% (8/8), done.
Writing objects: 100% (12/12), 965 bytes | 0 bytes/s, done.
Total 12 (delta 4), reused 0 (delta 0)
remote: Resolving deltas: 100% (4/4), completed with 4 local objects.
To https://github.com/ninetyfivejae/GitCollaboratingWorkflows.git
* [new branch] issue-#001 -> issue-#001
Branch issue-#001 set up to track remote branch issue-#001 from origin.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git checkout master
Switched to branch 'master'
Your branch is up-to-date with 'origin/master'.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git merge issue-#001
Updating f7b2f56..4f02706
Fast-forward
.../app/src/main/java/com/example/jaehyukshin/gitcollaboratingworkflows/MainActivity.java | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git push
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/ninetyfivejae/GitCollaboratingWorkflows.git
f7b2f56..4f02706 master -> master
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git checkout develop
Switched to branch 'develop'
Your branch is up-to-date with 'origin/develop'.
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git merge issue-#001
Updating f7b2f56..4f02706
Fast-forward
.../app/src/main/java/com/example/jaehyukshin/gitcollaboratingworkflows/MainActivity.java | 15 +++++++++------
1 file changed, 9 insertions(+), 6 deletions(-)
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git push
Total 0 (delta 0), reused 0 (delta 0)
To https://github.com/ninetyfivejae/GitCollaboratingWorkflows.git
f7b2f56..4f02706 develop -> develop
sinjaehyeog-ui-MacBook-Pro:GitCollaboratingWorkflows jaehyukshin$ git branch -d issue-#001
Deleted branch issue-#001 (was 4f02706).
# 참고 사이트)
https://www.atlassian.com/git/tutorials/comparing-workflows/gitflow-workflow
http://blog.appkr.kr/learn-n-think/comparing-workflows/
'Git' 카테고리의 다른 글
Learn git branch (0) | 2019.05.06 |
---|---|
[Git Collaborating Workflows / Git 협업 흐름] Feature Branch Workflow (0) | 2017.12.01 |
How to use Markdown / 마크다운 작성법 (0) | 2017.12.01 |
[Git Collaborating Workflows / Git 협업 흐름] Centralized Workflow / git rebase (0) | 2017.11.30 |
git add commit push with Terminal or gitbash (1) | 2017.10.15 |