branch 병합
25 Feb 2019
|
github
지옥에서 온 git
branch 병합
- 작업을 분기를 해서 각자의 작업을 이어가다 병합 할 때 병합(merge)하는 방법에 대하여 학습
git log --branches --graph --decorate --oneline
로 상태 확인
- 현재 공통 브랜치 사항(커밋 메세지 1, 2)과 분기된 브랜치 사항(exp에 대하여 커밋 메세지 3, 4 / master에 대하여 커밋 메세지 5)에 대하여 확인 가능
- exp의 내용을 master로 옮기기
- exp branch에서 작업한 3, 4의 내용을 master로 옮기는 작업
- master로 checkout 후 master에서 merge 하면 됨
git ckeckout master
후 git merge exp
입력
- 에디터가 열리며 맨 위에 Merge branch ‘exp’ 확인 가능
git log --branches --graph --decorate --oneline
로 상태 확인
- 현재 master branch로 exp가 합쳐진 것을 확인 할 수 있음
- 커밋 메세지는 자동으로 작성 된 Merge branch
exp
를 확인 가능 (HEAD -> master 옆에서)
- 해당 커밋은 두개의 부모 커밋을 가짐
- master에서 작업한 5번 커밋과 exp에서 작업한 3, 4번 커밋을 모두 가지고 있는 상태가 됨
ls -al
로 파일 리스트 확인해보면 모든 파일이 보이는것을 확인할 수 있음
- exp에 대해서도 5번 커밋을 갖도록 하기 위해
git checkout exp
입력
git log --branches --graph --decorate --oneline
로 상태 확인
- (HEAD -> exp, master)를 확인함으로써 같은 상태로 존재하는것을 확인 가능
- 3, 4, 5를 공통으로 부모로 하는 커밋이 되었기때문에 완전히 같은 branch가 됨
git checkout master
후 git branch -d exp
를 하여 exp branch를 삭제
git log --branches --graph --decorate --oneline
로 상태 확인
- exp가 사라지고 master만 남아있게 된 것을 확인 할 수 있음