Git Rebase란?
김영수 주임
Git 너무 어려워어어엉..ㅠㅠ
이번 포스팅에서는 Git의 rebase
에 대해서 알아보겠습니다.
rebase가 뭐지?
rebase
는 말 그대로 (re-base)로 베이스를 재배치한다는 뜻입니다.
merge
를 사용하면 히스토리를 볼 때 뿌리가 여러개로 나눠져 있어서 히스토리를 찾아갈 때 보기가 어렵습니다.
rebase
는 베이스를 다시 정의함으로써 새롭게 커밋 라인을 정리하여 히스토리를 깔끔하게 볼 수 있게 해줍니다.
그럼 실습을 해보겠습니다.
Sourcetree 로 실습
우선 Git Repository를 생성하여 master 브랜치에 파일 하나를 추가하고 첫번째 커밋을 진행합니다.
파일을 하나 더 만들고 두번째 커밋을 합니다.
feature 브랜치를 생성 후 체크아웃합니다.
두 개의 커밋을 합니다.
다시 master 브랜치로 돌아와 한 개의 커밋을 합니다.
master - 두번째 커밋을 base로 master, feature 브랜치로 나눠진 그래프를 볼 수 있습니다.
이제 feature 브랜치의 내용을 mater 브랜치로 rebase
할 차례입니다.
feature 브랜치로 체크아웃을 한 후, master 브랜치를 우클릭한 후 master(으)로 현재 바뀐 내용 재배치
를 클릭합니다.
master 브랜치와 feature 브랜치가 나눠져 있던 그래프의 모양이 깔끔하게 합쳐진 것을 볼 수 있습니다.
master 브랜치로 체크아웃 후, feature 브랜치를 우클릭한 후 merge feature into master를 클릭합니다.
master 브랜치가 fast-forward 병합이 된 것을 확인할 수 있습니다.
References
- [git-scm] https://git-scm.com/book/ko/v1/Git-%EB%B8%8C%EB%9E%9C%EC%B9%98-Rebase%ED%95%98%EA%B8%B0