코딩마을방범대
Git의 merge와 rebase의 차이 본문
728x90
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 히스토리를 더 이쁘게 만들기)
728x90
'🎃 기타 > Git' 카테고리의 다른 글
Git 커밋 리셋 방법 (0) | 2024.01.09 |
---|---|
이전 커밋 수정하기 & 이전 커밋 삭제하기 (0) | 2023.11.09 |
Intellij IDEA에서 Git 특정 커밋만 가져오기 (0) | 2023.08.23 |
Intellij IDEA에서 Git push 되돌리기 (0) | 2023.07.25 |
Git 명령어 모음 (0) | 2023.05.26 |