Git의 Merge와 Rebase의 차이

유수민·2022년 7월 11일
3

지식창고

목록 보기
25/60

📌Merge와 Rebase

Merge는 branch를 통합하는 것이고, Rebase는 branch의 base를 옮긴다.

Merge나 Rebase나 branch간 내용을 합치기 위한 방법이다. 두 방법은 최종 내용 또한 같다.

📌차이점

  • Merge의 경우
    다른 branch에서 여태까지 commit한 내용을 하나의 merge commit으로 합치는 것. 브랜치가 엄청 많아지면 히스토리를 보기 어렵다.

  • Rebase의 경우
    1) base의 위치를 변경해서 다른 branch에서 commit한 내역을 최신으로 보고 그대로 끌어오는 식으로 합치는 것
    → 중복 로그를 남기지 않고, merge log를 줄여 히스토리를 깔끔하게 정리할 수 있어 Rebase는 주로 히스토리를 깔끔하게 유지하기 위해 사용한다.

    2) Rebase는 히스토리를 지운다. 이로인해 Conflict가 날수도 있고, 데이터의 유실이 일어날 수 있다.

    3) 다른사람이 그 Branch에서 작업중일 수도 있기 때문에 공개된 (다른사람들이 접근할 수도있는) Branch에서 Rebase하면 안된다.

profile
배우는 것이 즐겁다!

0개의 댓글