TIL 41 | Git Rebase

ym j·2021년 5월 27일
0

Git & Linux

목록 보기
4/5
post-thumbnail

Git Rebase

Git Rebase란?

  • git merge처럼 branch 를 합치는 방법중 하나이다.

  • Commit history를 깔끔하게 관리할 수 있다.

  • rebase 뜻 그대로, '조상이 되는 branch를 재지정한다'라고 이해하면 훨씬 편하다.(원리는 아래
    그림으로 설명)



Rebase vs Merge

Merge로 branch 통합

  • 위 그림은, 부모 branch인 C2로부터 파생된 C3(master), C4(experiment)를 병합하는 과정이다.

  • git merge 명령어를 통해 3-way-merge로 새로운 커밋을 생성한다.

  • git log 통해 Commit history를 확인하면, C3, C4의 모든 커밋 내역이 모두 확인된다.


Rebase로 branch 통합


-

  • branch를 병합한다는 점에서만 merge와 동일하다.

  • rebase의 경우 C4 이후로 파생될 branch들을 모두 하나의 commit으로 합친 후, 부모 branch를 C3로 재지정한다.

  • 즉, 최종적으로는 최신화된 C3 (master)를 기준으로 단 하나의 commit만을 남기게 된다.



Rebase 관련 명령어

  • git rebase (branch name): branch name 기준으로 rebase 실행 명령어 (일반적으로 - master를 기준으로 진행)

  • git rebase -i (브랜치명): 사용자가 rebase를 진행하면서 commit 메시지를 직접 수정 (git rebase -h를 통해 -i 이외 다른 명령어들을 추가로 확인할 수 있다.)

  • git rebase --abort: rebase 진행 중단 (rebase가 완료된 이후에도 적용 가능)

  • git rebase --continue: conflict, 혹은 다른 이유로 인해 중단된 rebase를 재개



Reference

profile
블로그를 이전하였습니다 => "https://jymini.tistory.com"

2개의 댓글

comment-user-thumbnail
2021년 5월 30일

역시 git master 용민님...👍

1개의 답글