git rebase

5ERN·2023년 1월 20일
0

git & github

목록 보기
2/3

우린 git에서 작업내용을 합칠때 두가지 방법을 떠올릴 수 있다.

Merge VS Rebase

이번 글은 그 중 Rebase에 대해 알아보고자 한다.

rebase

우선 아래의 그림을 참고하면서 얘기해보도록 하자.

위의 표를 해석해보자면,

B에서 작업을 하다 브랜치를 새로 만들어 D와 추가적인 작업을 통해 E까지 작업하였다.
작업 중, 베이스를 B에서 C로 옮기기 위해 D,E의 브랜치를 C로 Rebase한다.
=> commit이 C로 다시 재정렬된다!

결국, rebase란 말 그대로 '베이스'를 '다시 설정'하는 것이다.

merge 대신 이렇게 rebase를 사용하게 되면 따라오는 장점으로서
git history가 깔끔해진다는 점이 있다.

rebase -i (interactive)

위의 명령어는 추가적인 것인데,
'rebase 명령어에 -i (로그 해시)'를 추가하는 것으로 커밋을 편집할 수 있다.

위 명령어를 입력하면 vim 편집기가 나오게 되는데, 최상단에 기록된 커밋들을 확인할 수 있다.

이 중 가장 상단의 것이 최신것이므로 이것을 pick(커밋으로 남겨둠)으로 설정하고,
나머지는 s(squash. 위의 커밋으로 넣어놓아 보이지 않게 한다.)로 편집하여

최종적으로는 pick해둔 커밋만 표시되게끔 할 수 있는 것이다.

profile
응애개발자

0개의 댓글