기타/git
[Git] rebase, 브랜치 커밋 이력 재정렬
책 읽는 개발자_테드
2022. 10. 30. 18:25
반응형
$ git rebase "재정렬을 위한 기준 브랜치"
- 특정 브랜치의 커밋 이력을 기준으로 작업 브랜치의 커밋 이력을 재정렬
merge vs rebase
예시)
master 브랜치의 커밋 이력이 다음과 같고,
feature/b 브랜치의 커밋 이력이 다음과 같다.
merge와 rebase의 차이를 확인해보자. master 브랜치를 작업 브랜치하여 feature/b 브랜치를 병합해보자.
$ git checkout master
$ git merge feature/b
$ git log --oneline --graph
위와 같은 결과를 볼 수 있다. 이제 rebase와의 차이를 확인해보자. merge로 추가된 ce3d316 커밋을 제거한다.
$ git rebase -i HEAD~2
다음으로 feature/b 브랜치를 작업 브랜치로 master 브랜치를 기준으로 커밋 이력을 재정렬하자.
$ git checkout feature/b
$ git rebase master
$ git log --oneline --graph
master 브랜치의 최신 커밋 이력(44d85bc)을 기준으로 feature/b에 추가된 커밋 이력(64c5367)이 재정렬되었다.
이제 다시 master 브랜치를 작업 브랜치로 변경하고, merge한다.
$ git checkout master
$ git merge feature/b
$ git log --oneline --graph
fast-forward 방식으로 앞선 방법보다 깔끔하게 merge된 걸 확인할 수 있다.
반응형