branch 병합

|

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 mastergit 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 merge master 입력하여 병합
  • git log --branches --graph --decorate --oneline로 상태 확인
    • (HEAD -> exp, master)를 확인함으로써 같은 상태로 존재하는것을 확인 가능
    • 3, 4, 5를 공통으로 부모로 하는 커밋이 되었기때문에 완전히 같은 branch가 됨
  • git checkout mastergit branch -d exp를 하여 exp branch를 삭제
  • git log --branches --graph --decorate --oneline로 상태 확인
    • exp가 사라지고 master만 남아있게 된 것을 확인 할 수 있음