create a merge commit
master 브랜치와 A 브랜치가 있다고 가정 했을 때
A 브랜치의 변경 사항이 있을때 마다 commit 했다.
A 브랜치에는 1 commit , 2 commit , 3 commit 이 쌓여있다.
해당 commit기록을 그대로 남기면서 master에 merge 할 때 사용한다.
squash and merge
master 브랜치와 A 브랜치가 있다고 가정 했을 때
A 브랜치의 변경 사항이 있을때 마다 commit 했다.
A 브랜치에는 1 commit , 2 commit , 3 commit 이 쌓여있다.
해당 commit 기록들을 하나의 커밋 즉,
4 commit = 1 commit + 2 commit + 3 commit
의 형태로 4 commit을 생성하여 merge 할 때 사용한다.
rebase and merge
master 브랜치와 A 브랜치가 있다고 가정 했을 때
A 브랜치의 변경 사항이 있을때 마다 commit 했다.
A 브랜치에는 1 commit , 2 commit , 3 commit 이 쌓여있다.
이때 commit 자체를 master에 붙여 넣고 싶을 때 즉,
master 브랜치의 commit에 1 commit , 2 commit , 3 commit 이 추가 된다.
기존 create a merge commit 과 다른 점은
create a merge commit 의 경우 commit 기록은 A 브랜치에 남아 있지만
rebase and merge 의 경우 commit 기록이 master로 이동 된다.
( A 브랜치는 commit 기록이 사라짐 )