본문 바로가기
Tools/etc

Git Merge Rebase 차이 정리

by wakestand 2021. 11. 24.
반응형

Git 에서 Merge와 Rebase를 사용해

신규 개발한 branch의 내용을

main(master) branch에 합칠 수 있는데

 

위 이미지를 예제로 보면

main이 master(origin) branch(기존)

feature 가 들어온 요건을 개발하려고

새로 작성한 branch라고 보면 된다(신규)

 

각각 기능 차이를 한번 보자면

 

먼저 Merge의 경우에는

다른 branch에서 개발하면서 commit한 내용들을

선택한 브랜치에 하나의

Merge commit으로 병합하게 된다

 

이미지를 보면 develop branch에서

커밋은 3번 이루어졌지만

실제 master branch로 병합할 때

한번의 merge commit으로 들어가는 것이 보인다

 

Rebase의 경우에는

base를 다시 잡는다고 보면 되는데

 

현재 base의 위치를 rebase 하려는

branch의 최신 commit으로 변경해준다

이미지를 보면 merge를 진행한 후

 

다른 branch에서 3번 커밋을 진행하고

해당 branch를 rebase 시키니 

 

3번 커밋이 이루어진 곳을 base로 잡아주기 때문에

타 branch의 commit 3개가

직선으로 쭉 들어온 것이 보인다

 

정리해보자면 Merge나 Rebase나

branch간 내용을 합치기 위한 방법이고

 

Merge의 경우에는

다른 branch에서 여태까지 commit한 내용을

하나의 merge commit으로 합치는 것이고

 

Rebase의 경우에는

 base의 위치를 변경해서

다른 branch에서 commit한 내역을 최신으로 보고

그대로 끌어오는 식으로 합치는 것이다

반응형

'Tools > etc' 카테고리의 다른 글

Git Bash 시작위치 변경방법  (4) 2021.12.28
이클립스 Local History 확인방법  (0) 2021.12.26
깃허브(Github) Pull requests 개념정리 및 예제  (0) 2021.11.24
github branch 삭제방법  (0) 2021.11.05
github branch 추가방법  (0) 2021.11.05

댓글