git
-
[ git ] Merge, Squash and merge, Rebase and merge 차이git 2021. 12. 11. 23:58
커밋 히스토리를 관리하기 위해 git에서 Merge, Squash and merge, Rebase and merge 이렇게 세가지의 Merge를 지원해주는데 상황에 맞게 Merge 방식을 관리하는게 히스토리 추적에 용이하기 때문에 차이점을 정리해보았다. Merge Merge는 위와같이 a, b, c 를 refer 하는 m 커밋 노드가 생성되고 m은 parent로 Init, c 를 가진다. 커밋 m에서부터 뒤로 되돌아가면서 부모를 모두 찾아 브렌치를 구성하고, 커밋 m은 부모로 c, Init을 가지고 있으며, c는 b, b는 a, a는 Init을 다시 부모로 가지게 된다. 이 형상을 모두 backtrace 하여, Init -> a -> b -> c -> m이라는 구조를 만들고 이 구조가 모두 히스토리에 남..