[git] merge, squash and merge, rebase and merge 비교

With·2021년 10월 26일
0

Git

목록 보기
1/1

목적

github에서 PR이후, merge를 하는방법에는 3가지 방법이 있다. 각각의 방법에 따라 아래와 같이 history내역이 달라진다. 더 깔끔한 history 관리를 위해 3가지 merge방법을 비교해서 알아보자!

Merge commit

feat/merge 브런치에서 2번의 커밋을 하고, master로 PR을 했다.

master에서 create a merge commit을 통해 merge 하면 아래와 같이 결과가 나온다. feat/merge에서 했던 커밋 1, 커밋 2, 그리고 Merge commit 까지 총 3개의 내역이 표시된다.

Squash and merge

feat/squash 브런치에서 2번의 커밋을 하고, master로 PR을 했다.

master에서 squash and merge를 통해서 병합을 하면 아래와 같이 결과가 나온다. 2개의 커밋을 포함한 1개의 내역으로만 표시된다.

Rebase and merge

feat/rebase 브런치에서 2번의 커밋을 하고, master로 PR을 했다.

master에서 rebase and merge를 통해서 병합을 하면 아래와 같이 결과가 나온다. feat/rebase에서 커밋한 2개의 커밋만 master에 합쳐지게 된다.

Rebase and merge를 하면 master의 git log와 feat/rebase의 git log가 같은 모양이 된다.

git history를 어떻게 남기느냐에 대한 정책에 따라 3가지 방법 중 가장 알맞은 방법을 사용하는 것이 좋을 것 같다.

profile
주니어 프론트엔드 개발자 입니다.

0개의 댓글