- Published on
merge와 rebase의 차이는 그림이 아니라 커밋 해시로 봐야 정확합니다. 리베이스는 커밋을 옮기는 명령이 아니라 부모가 달라진 새 커밋을 만드는 명령이고, 해시가 바뀐다는 그 사실 하나가 공유 브랜치를 리베이스하지 말라는 황금률의 유일한 근거입니다. 이 글은 실제 커밋 해시와 reflog 출력으로 그 변화를 보여 주고, 머지 커밋이 소음이라는 통념을 first-parent 로그로 반박하고, 스쿼시 머지가 이분 탐색과 체리픽에서 무엇을 가져가는지, 리베이스 도중 같은 충돌이 반복되는 이유와 rerere가 그것을 어떻게 없애는지, 그리고 force-with-lease만으로는 왜 부족한지까지 다룹니다. 마지막에 팀 정책을 고르는 기준을 표로 정리했습니다.