Tools/git

[git] merge의 또 다른 방법 알아보기(3-way, fast-forward, squash, rebase)

hhnn 2022. 7. 20. 14:43

1. 3-way

 

2. fast-forward

 

3. squash

git merge --squash 새브랜치명

 

4. rebase

* rebase는 기존 커밋을 그대로 사용하는 것이 아닌 내용은 같지만 다른 커밋을 새로 만든다.
* 로컬 작업시 히스토리 정리를 위해 rebase는 할 수 있다.
단, push로 내보낸 commit에 대해서는 절대 rebase하지 말것

3.6 Git 브랜치 - Rebase 하기

rebase 이미지 1-1

 

rebase 이미지 1-2

 

장점 단점
1. 간단하고 짧은 branch들은 깔끔한 log를 확인 할 수 있다. 1. 충돌이 많이 남

rebase&merge 명령어

1. 변경점을 바꿀 새로운 브랜치로 switch한다. (rebase 이미지 1-2의 연두색 commit)

현재 핑크색의 subFile이라는 branch생성됨

2. git rebase 중심브랜치명

3. 중심 브랜치로 다시 이동

4. git merge 새로운 브랜치명

계속 오류가 나서 branch 생성 후 동일한 행을 수정하지 않고 다른 행을 수정했더니 적용이 잘 되었음

log가 하나로 깔끔하게 정리되었다.

 

반응형
SMALL