코딩마을방범대

Git의 merge와 rebase의 차이 본문

🎃 기타/Git

Git의 merge와 rebase의 차이

신짱구 5세 2023. 8. 23. 16:09

 

 

Git에서 브랜치를 연동할 때 rebase, 브랜치를 합칠 때 merge를 많이 사용한다.

 

rebase 공통 base를 가진 브랜치에서,
한 브랜치의 base를 다른 브랜치의 최신 커밋으로 base를 옮기는 작업
merge git 브랜치를 다른 브랜치로 합치는 과정

 

 


 

 

merge를 사용해 브랜치를 연동 시킬 경우의 문제점은?

 

A라는 브랜치에서 main으로 작업 중, A 브랜치를 base로 B라는 브랜치를 새로 만들 경우

log를 볼 때 아래처럼 연결된 선 하나가 새로 생긴다.

 

이후 B 브랜치에 작업하다가 A에 merge할 경우 아래처럼 연결된 선이 기존 A 브랜치에 합쳐진다.

 

위 작업으로 인해 여러 브랜치가 겹치게될 경우 아래처럼 복잡한 히스토리가 생길 수 있다!

 

 

 


 

 

 

위처럼 지저분한 히스토리를 만들지 않기 위해 rebase를 응용하는 것이 좋다.

아래처럼 rebase는 말 그대로 base를 해당 브랜치의 base로 바꾼다.

따라서 브랜치가 나눠졌던 것도 티가 나지 않을 뿐더러, 내역이 굉장히 깔끔해진다.

 

 

 

 


참고사이트

[Git] Git Rebase란? (feat. git-flow 히스토리를 더 이쁘게 만들기)

 

 

 

SMALL