Git 너무 어려워어어엉..ㅠㅠ

이번 포스팅에서는 Git의 rebase에 대해서 알아보겠습니다.


rebase가 뭐지?

rebase는 말 그대로 (re-base)로 베이스를 재배치한다는 뜻입니다.

merge를 사용하면 히스토리를 볼 때 뿌리가 여러개로 나눠져 있어서 히스토리를 찾아갈 때 보기가 어렵습니다.

rebase는 베이스를 다시 정의함으로써 새롭게 커밋 라인을 정리하여 히스토리를 깔끔하게 볼 수 있게 해줍니다.

그럼 실습을 해보겠습니다.

Sourcetree 로 실습

practice_1

우선 Git Repository를 생성하여 master 브랜치에 파일 하나를 추가하고 첫번째 커밋을 진행합니다.

practice_2

파일을 하나 더 만들고 두번째 커밋을 합니다.

practice_3

feature 브랜치를 생성 후 체크아웃합니다.

practice_4

두 개의 커밋을 합니다.

practice_5

다시 master 브랜치로 돌아와 한 개의 커밋을 합니다.

practice_6

master - 두번째 커밋을 base로 master, feature 브랜치로 나눠진 그래프를 볼 수 있습니다.

이제 feature 브랜치의 내용을 mater 브랜치로 rebase 할 차례입니다.

feature 브랜치로 체크아웃을 한 후, master 브랜치를 우클릭한 후 master(으)로 현재 바뀐 내용 재배치를 클릭합니다.

practice_7

master 브랜치와 feature 브랜치가 나눠져 있던 그래프의 모양이 깔끔하게 합쳐진 것을 볼 수 있습니다.

practice_8

master 브랜치로 체크아웃 후, feature 브랜치를 우클릭한 후 merge feature into master를 클릭합니다.

practice_9

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