✅ Rebase란?
git에서 한 브랜치에서 다른 브랜치로 합치는 방법은 Merge
와 Rebase
이다.
👍 merge의 장점
- merge는 비파괴작업이다.
- 기존 분기가 어떤식으로든 변경되지 않아서 rebase의 모든 잠재적 함정을 피할 수 있다.
- 완전한 역사와 연대순을 보존한다.
👎 merge의 단점
- 기본 분기가 매우 활동적인 경우 기능 분기의 기록을 상당히 오염시킬 수 있다.

👍 Rebase의 장점
- 깔끔한 프로젝트 기록을 얻을 수 있다.
- 병합 커밋 노이즈를 방지한다.
- 단일 커밋을 조작하는 것이 쉽다 (되돌리기)
- Rebase 또한 완벽하게 선형적인 프로젝트 기록을 생성한다.
👎 Rebase의 단점
- 공용 레포를 rebase하는 것은 팀으로 작업할 때 매우 위험하다.
- 더 많은 rebase를 사용하여 기능 분기를 항상 최신 상태로 유지한다.
- Rebase 후 히스토리를 다시 작성하면 심각한 오류가 발생할 수 있다.

둘은 실행결과는 같지만 커밋 히스토리가 다르다는 차이점이 있다. Merge는 쉽고 안전하지만 커밋 히스토리가 지저분할 수 있다. 반면 Rebase는 잘 어렵고 위험하지만 커밋 히스토리를 깔끔하게 관리할 수 있다.