Git&GitHub

[Git] 브랜치를 합치는 두 방식(Merge & Rebase)

P.젤리비 2022. 7. 30.
반응형

서로 다른 브랜치를 합치는 두 방식

  • merge : 두 브랜치를 한 커밋에 이어붙입니다.
    • 브랜치 사용내역을 남길 필요가 있을 때 적합한 방식
  • rebase : 브랜치를 다른 브랜치에 이어붙입니다.
    • 한 줄로 깔끔히 정리된 내역을 유지하기 원할 때 적합
    • 이미 팀원과 공유된 커밋들에 대해서는 사용하지 않는 것을 권장

 

merge로 합치기

  • B 브랜치를 A 브랜치로 merge
    • A 브랜치로 이동
    • 아래의 명령어로 병합
git merge (B 브랜치명)
  • 맥, 리눅스 경우 :wq로 자동입력된 커밋 메시지 저장하여 마무리
  • GIt GUI툴로 확인해보기
  • merge는 reset으로 되돌리기 가능
    • merge도 하나의 커밋
    • merge하기 전 해당 브랜치의 마지막 시점으로 reset 가능
  • 병합된 브랜치는 삭제
git branch -d (B 브랜치명)

 

rebase로 합치기

  • C 브랜치를 A 브랜치로 rebase
    • C 브랜치로 이동
      •  merge때와는 반대!
  • 아래의 명령어로 병합
git rebase (A 브랜치명)
  • Git GUI툴로 상태 확인
    • A 브랜치는 뒤쳐져 있는 상황
  • A 브랜치로 이동 후 아래 명령어로 C 브랜치의 시점으로 fast-forward
    • fast-forward 란? main 브랜치를 따서 만든 sub 브랜치가 main의 upstream 브랜치가 된다. 머지를 하면 fast-forward 머지가 되는 것인데, 이는 단순히 main 브랜치가 보는 커밋을 앞으로 이동하는 것(sub 브랜치가 가르키는 커밋을 main 브랜치가 바라본다.) 뿐이다.
git merge (C 브랜치명)
  • C 브랜치 삭제
반응형

'Git&GitHub' 카테고리의 다른 글

[Git] GitHub 시작하기  (0) 2022.07.30
[Git] 브랜치 충돌 해결  (0) 2022.07.30
[Git] Branch 사용하기  (0) 2022.07.30
[Git] commit되돌리기(reset & revert)  (0) 2022.07.29
[Git] Commit 해보기  (0) 2022.07.29

댓글

💲 추천 글