ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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 로 병합하겠습니다.

    그 후, 리베이스를 반복하다보면

    이렇게 직렬적 커밋로그를 만들 수 있습니다.

Designed by Tistory.