https://www.opentutorials.org/course/2708/15262
서로 다른 브랜치를 병합(merge)하는 방법을 알아보자.
* 현재 브랜치 상황
master : 1-2-5
exp : 1-2-3
여기서 exp의 내용( commit '3')을 master branch도 갖게 병합해 보자 (exp -> master)
-> master 브랜치에 exp 브랜치의 내용을 가져와 합쳐보자.
(master 브랜치에서)
git merge '가져올 브랜치 이름'
ex)
git merge exp
이런 작업창이 열린다.
명령어 ':wq'를 입력해 저장하고 빠져나온다.
병합이 되었는지 log를 확인해 보자.
git log --branches --graph -- decorate --oneline
병합이 되었다.
master의 5 / exp의 3 을 부모로 갖는 새로운 commit이 생성된 것을 볼 수 있다.
exp가 갖고 있는 f3.txt가 있는지 확인해보자.
ls -al
f1.txt, f3.txt 가 있는 것을 볼 수 있다.
이번에는 exp에 master를 가져와 병합해 보자.
우선 (현재) master를 checkout 해서 exp로 이동한다.
git checkout exp
master를 가져와 병합한다.
git merge master
로그를 확인해보자.
git log --branches --graph --decorate --oneline
병합이 되었다.
master에서 exp를 병합했을 때와 같은 commt을 갖고 있는 것을 볼 수 있다.
master와 exp가 같으므로 exp를 삭제 해보도록 하자.
먼저 마스터로 이동한다.
git checkout master
브랜치 exp를 지워보자.
git branch -d exp
log로 확인해 보자.
exp는 지워지고, head가 master만 가르킨다.
- 정리 -
브랜치A에서 브랜치B의 내용을 가져와 병합한다.
1. 브랜치A로 이동 (현재 A에 있다면 이 작업은 필요x)
git checkout 브랜치A
2. 병합하기. (B->A)
git merge 브랜치B
브랜치 지우기
git branch -d '브랜치이름'