-
[git] rebase (커밋 로그를 직렬으로 만들어보자)git 2022. 7. 2. 16:00
안녕하세요. gaki 입니다.
오늘은 브랜치를 병합할때 사용되는 rebase 에 대해 알아보겠습니다.
merge 와 rebase 의 공통점은 둘다 브랜치를 병합하는데 쓰인다는 것입니다.
차이점은, merge 는 병렬적 커밋로그를 만들고, rebase 는 직렬적 커밋로그를 만든다는 점입니다.
병렬적 커밋로그와 직렬적 커밋로그라는 말의 이해를 돕기위해 그림을 참고하겠습니다.
위의 그림은 브랜치들을 merge 를 했을때의 커밋로그이고, 아래 그림은 rebase 를 했을때의 커밋로그입니다.
rebase 를 했을때의 커밋 로그가 나중에 오류를 디버깅할때 더 쉽다는 것을 알 수 있습니다.
그럼 직접 실습해보겠습니다.
먼저 master 브랜치를 하나 만들어줍니다.
gak 이라는 브랜치와 u 라는 2개의 브랜치를 만들고,
gak 에서는 navbar 를, u 에서는 button 을 만들어보겠습니다.
다음과 같이 만들었습니다.
이제 우리는 master 에 gak 과 u 를 병합해야합니다.
먼저 master 와 gak 을 rebase 로 병합하겠습니다.
그 후 master 와 u 를 rebase 로 병합하겠습니다.
그 후, 리베이스를 반복하다보면
이렇게 직렬적 커밋로그를 만들 수 있습니다.
'git' 카테고리의 다른 글
커밋하지 않은 상태에서 다른 branch 로 checkout 시 발생하는 상황 (0) 2022.07.08 [git] merge (브랜치를 합쳐보자.) (0) 2022.07.02