* branch 생성하기
표현: git branch <branchname>
옵션을 지정하지 않고 branch 명령어를 실행하면 브랜치 전체 목록을 확인할 수 있다
issue라는 이름의 branch를 생성한 후, 현재 branch 목록 확인
$ git branch issue
$ git branch
issue1
* master
표현: git checkout <branch>
checkout 명령어는 <branch>라는 이름의 브랜치를 사용하겠다고 명시적으로 지정해주는 것이다.
$ git checkout issue
Switched to branch 'issue'
+ checkout 명령에 -b 옵션을 넣으면 브랜치 작성과 체크아웃을 한 번에 실행 가능하다
표현: git checkout -b <branch>
checkout으로 브랜치를 변경해준 후, add와 commit, push의 동작을 실행하면 변경한 브랜치에 이력이 기록된다.
* branch merge (병합)
이후 'issue' 브랜치의 변경 사항을 'master' 브랜치에 병합해보자.
표현: git merge <commit>
브랜치 병합은 merge 명령어로 실행한다.
merge 명령어에 커밋 이름을 넣어 실행하면, 지정한 커밋 내용이 'HEAD'가 가리키고 있는 브랜치에 넣어진다.
'HEAD'는 현재 사용중인 브랜치에 위치한다.
따라서, 현재는 'issue' 커밋에 HEAD가 위치하고 있는 것이고, master 브랜치에 issue를 병합하기 위해선 master 브랜치에 HEAD가 위치하도록 만들어야 한다.
$ git checkout master
Switched to branch 'master'
master로 브랜치를 이동하면 issue 브랜치에서 add, commit, push한 내용들이 사라지게 된다.
그러면 이제 issue 브랜치의 내용을 master에 merge해주고, 그러면 issue 브랜치에서 add, commit..한 내용들이 되돌아온다.
$ git merge issue
Updating 1257027..b2b23c4
Fast-forward
myfile.txt | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
위의 merge를 실행하면 master 브랜치에도 issue의 내용이 업데이트된다.
* branch 삭제
이제 merge를 통해 issue 브랜치의 내용이 모두 master에 통합되었기 때문에, issue 브랜치가 필요없게 되었다.
issue 브랜치를 삭제해보자
브랜치를 삭제하려면 branch 명령에 -d 옵션을 지정하여 실행하면 된다
표현: git branch -d <branchname>
$ git branch -d issue
Deleted branch issue (was b2b23c4)
브랜치가 잘 삭제되었는지 확인하려면 branch 명령만 단독으로 실행해보면 된다
$ git branch
* master
'Coding > git' 카테고리의 다른 글
master branch and 'origin/master' have diverged, how to 'undiverge' branches'? (0) | 2020.10.03 |
---|---|
git 편집 에디터 바꾸기 (nano to vim) (0) | 2020.10.01 |
git revert - 커밋 변경, reset/revert 복구하기 (0) | 2020.05.14 |
git - commit, add, pull, merge 취소 (0) | 2020.01.03 |
git pull requests 사용법 (1) | 2019.12.23 |