git merge vs rebase

iamsummer__·2020년 8월 24일
0
post-thumbnail

주로 회사에서는 git merge를 사용했었습니다.
그러나 커밋이 좀 더 깔끔하게 관리하고 싶을 때는 rebase를 사용하라고 하는데 개념에 대해서 알아보도록 하겠습니다.

merge

각 브랜치의 마지막 커밋 두 개와 공통 조상의 총 3개의 커밋을 이용하는 3-way merge를 수행하여 새로운 커밋을 만들어내는 것입니다.


실습을 통해 확인해보도록 하겠습니다.
현재 브랜치는 master, feature01 두가지가 있습니다.
feature01은 master 브랜치를 base로 하여 생성되었습니다.

feature01에 내용을 수정하여 커밋을 추가보았습니다.

master브랜치에 내용을 수정하여 커밋을 추가해보았습니다.

master브랜치에서 feature01브랜치를 merge해보겠습니다.

그러면 feature01에서 작업했던 커밋들과 최종 merge커밋이 추가되는 것을 확인 할 수 있습니다.

rebase

브랜치의 공통 조상이 되는 base를 다른 브랜치의 커밋 지점으로 바꾸는 것입니다.

위의 예제와 마찬가지로 master, feature03 브랜치 2가지가 있습니다.

feature03브랜치에서 내용을 수정하여 커밋을 올렸습니다.

master브랜치에 rebase해보겠습니다.

새로운 커밋 메세지가 생성되지 않고 기존에 feature03브랜치에서 작업했던 커밋이 그대로 있는 것을 확인할 수 있습니다.
마치 master 브랜치에서 작업한 내용인양 말이죠.

두가지 방법은 프로젝트 성격에 맞춰 진행하면 좋을 것 같습니다.

profile
개발하는 프론트엔드개발자

0개의 댓글