[Git] Rebase

브랜치를 합치는 방법은 두 가지가 있는데, 바로 MergeRebase 이다. 평소에는 merge를 사용하지만 아무래도 branch가 많아지다 보면 이들의 관계를 한 눈에 파악하기가 어렵다. 그래서 git history를 정리하기 위해 rebase를 사용하면 좋다.

Rebase와 Merge의 차이점

< Merge >

Untitled

서로다른 Branch를 통합하여 새로운 커밋을 생성한다. 해당 커밋은 각 브랜치의 마지막 커밋과 공통조상을 사용하는 3-Way Merge로 생성되었다.

< Rebase >

Untitled

공통조상으로부터 한 브랜치의 끝까지 모든 커밋을 어딘가에 임시로 저장해 놓는다. 그리고 다른 브랜치의 끝에서 저장해둔 커밋들을 차례대로 적용한다.

이 둘은 최종 결과물이 동일하고, 커밋 히스토리만 다르다.

참고자료