안녕하세요. 잇킹 시도르입니다.
이제 생성한 브랜치 합치는 방법과 생성한 브랜치를 삭제하는 방법을 정리하려고 합니다.
브랜치 합치기
브랜치를 합치는 명령어에는 merge와 rabase가 있습니다. 둘의 차이점에 대해 확인해보겠습니다.
test1~3 소스를 가진 master 브랜치가 다음과 같이 존재합니다.
develop 브랜치는 지금 master 브랜치 기준에서 생성하여, test2를 삭제하고 test3를 수정했습니다.
그리고 다시 master 브랜치로 변경해서 test4를 추가했습니다.
이제 develop 브랜치 사항을 master 브랜치에 반영하려고 합니다.
이때 사용할 수 있는 명령어가 2개가 있으며 차이점에 대해서 알아보겠습니다.
1) git merge
master 브랜치를 선택하고 git merge develop을 실행해주세요.
git merge 합칠 브랜치명
현재 브랜치에 브랜치명을 합친다.
(sidorl) D:\My_DEV\py_prj\git_test>git branch
develop
* master
(sidorl) D:\My_DEV\py_prj\git_test>git merge develop
Updating b4bae0b..e0e2ded
Fast-forward
test2.py | 1 -
test3.py | 3 ++-
2 files changed, 2 insertions(+), 2 deletions(-)
delete mode 100644 test2.py
master 브랜치가 develop 브랜치 내용이 반영되었음을 확인할 수 있습니다.
이제 git log --graph --all --decorate 명령어를 통해서 커밋 히스토리를 확인해보겠습니다.
git log --graph --all --decorate : 커밋 히스토리를 그래프 형태로 전부 보여주는 명령어
master와 develop의 커밋을 각각 분기해서 이력을 관리하는 것을 확인할 수 있습니다.
2) git rebase 브랜치명
reset 명령어를 통해 되돌아간 후에 git rebase develop 명령어를 수행했습니다.
결과적으로 git merge와 변경사항 반영은 같습니다.
그럼 커밋 이력을 확인해보죠.
git merge와는 달리 develop의 이력을 별도로 분기하지 않고, 하나의 커밋 이력으로 관리하는 것을 확인할 수 있습니다. 즉, 프로젝트에서 커밋 이력을 어떻게 관리할 것이냐에 따라 git merge와 rebase를 선택해서 브랜치 변경사항을 반영하면 되겠네요.
브랜치 삭제
git branch -D 브랜치명
(sidorl) D:\My_DEV\py_prj\git_test>git branch develop2
(sidorl) D:\My_DEV\py_prj\git_test>git branch
develop
develop2
* master
(sidorl) D:\My_DEV\py_prj\git_test>git branch -D develop2
Deleted branch develop2 (was 1957537).
(sidorl) D:\My_DEV\py_prj\git_test>git branch
develop
* master
브랜치 합치는 명령어 및 차이점과 브랜치 삭제 명령어를 정리해 보았습니다.
이상입니다!!!
'Programming > Git' 카테고리의 다른 글
[Git]branch(1) - git branch, git checkout (0) | 2020.04.11 |
---|---|
[Git]Gitlab(4) - 소스 내려 받기(git clone, git pull) (0) | 2020.04.04 |
[Git]Gitlab(3) - 소스 올리기 (0) | 2020.04.03 |
[Git]Gitlab(2) - 윈도우에서 gitlab SSH key 등록하기 (4) | 2020.03.29 |
[Git]Gitlab(1) - 프로젝트 생성과 삭제 (0) | 2020.03.29 |