<TIL-22> Git Rebase

김건우·2020년 9월 13일
0

Git Rebase에 대한 자세한 내용은 따로 정리를 하고, TIL에서는 간략하게 기록해 두려고 한다.

Rebase

말 그대로 base를 재배치 한다는 뜻이다. 좀 더 풀어서 설명하자면, branch에서 작업 중 add, commit의 단계를 거치면 어떤 작업이 되고 있는지 log가 남게 된다.
그런데 여러가지 branch가 생성되고, 프로젝트가 커질수록 commit이 점점 많아 질게 될텐데, 이런상황에서는 merge를 하기 위해 핵심적인 commit 메세지를 확인하고 싶을 것이다.

수 많은 commit 중, 기준을 선택하여 그곳을 첫 commit으로 재배치 시키며 하나의 commit으로 변경하는 것이 Rebase의 핵심이다.

Rebase의 순서.

  • 먼저 작업중인 branch의 내용을 add 시켜준다.
    git add .

  • 어떠한 내용을 작업했는지 간략하게 적어준다.
    git commit

  • 마스터 브랜지로 들어가 최신화를 시켜준다. (conflit 되는 부분들을 수정하고, 최신의 버전과 합치기 위해서 이다)
    git checkout master

  • master에서 pull 하고, npm-install을 통해 내 마스터를 최신화 시켜준다.
    git pull origin master
    npm install

  • 다시 내가 작업했던 branch로 넘어온다.
    git checkout feature/login
    (예를 들어서 로그인 기능을 작업하는 brach라고 해보자)

  • 이제 git rebase를 한다.
    git rebase -i master

  • 다양한 conflic가 생길 수 있다. 침착하게 하나씩 수정해 가면 된다.

  • conflict가 나타날 경우, 해결 후에 rebase를 다시 진행시켜주어야 한다.
    git rebase --continue

  • 과거의 commit 메세지들이 나오게 되는데, 하나의 commit으로 간략하게 정리해준 후 저장한다.

  • 저장이 완료되면, commit은 이번에 작성한 하나의 메세지로 남게되면서 log가 깔끔하게 정리된 모습을 볼 수 있다.

profile
꾸준하게 공부하기

0개의 댓글