Git Rebase 란

브랜치 통합

작업이 완료된 브랜치는 최종적으로 통합 브랜치 ( Master 라고 보면 될 듯) 에 병합된다.

브랜치를 통합하는 방법하는 방법에는 두가지가 있다.

 

Merge : 쉽고 안전하지만 , 커밋 히스토리가 지저분해진다.

Rebase : 잘 모르고 사용할 때 위험하지만, 커밋 히스토리가 깔끔하게 관리되는 장점이 있다. 

 

Merge 와 Rebase 둘다 최종 결과물은 같다, 커밋 히스토리만 다르다

 

Merge

 

  • 3-way 병합
    • 특징 : 머지 커밋 생성
    • 장점 : 한번만 충돌 발생
    • 단점 : 트리가 약간 지저분 해짐

Rebase 

  • rebase
    • 특징 : 현재 커밋들을 수정하면서 대상 브랜치 위로 재배치
    • 장점 : 깔끔한 히스토리
    • 단점 : 여러번 충돌이 발생할 수 있음

 

 

Interactive rebase 단어

pick : 해당 커밋을 사용하는 것

reword : 커밋을 사용하지만 메시지는 변경한다

edit : 커밋을 사용하지만 안의 변경사항을 바꾸겠다

squash : 여러 commit을 하나로 묶어준다

drop : 해당하는 커밋을 history에 남기지 않고 제거하고 싶을 때

fixup : sqush와 비슷하지만 메시지를 남기지 않는 것