반응형
$ 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된 걸 확인할 수 있다.
반응형
'기타 > git' 카테고리의 다른 글
TBD(Trunk-Based Development)란? (0) | 2023.09.19 |
---|---|
[Git] merge, rebase conflict 해결하기 (0) | 2023.02.05 |
[Git] cherry-pick, 다른 브랜치의 커밋을 작업 브랜치에 추가 (0) | 2022.10.30 |
[Git] reset, revert - 깃 수정 내용 및 버전 되돌리기 (0) | 2022.10.30 |
[Git] SSH로 깃헙 접속 및 저장소 복제하기 (2) | 2022.04.08 |
댓글