[Git] Rebase 사용하기

Seob·2020년 9월 6일
1

지금까지 브랜치에서 작업하고 다음과 같은 순서로 Push 했었다.

git add .
git commit
git push origin (working branch)

하지만 항상 이렇게 하다보면 commit은 점점 쌓여가고 내역도 지저분(?)하게 된다.

그래서 그 점을 보완할 수 있는 기능이 Rebase 이다.

브랜치간 작업을 합치는 방법인 rebase는 여러 commit을 "복사" 하여 다른곳에 떨궈준다. 👀

말보다는 아래의 이미지로 확인하자.

git rebase master 명령어를 실행한 모습

이렇게 마스터 브랜치에 바로 복붙(?)하는 것이 rebase이다.

하지만 마스터 브랜치에 rebase하기 전에 해야할 작업이 있다.
git checkout master
git pull origin master
git checkout (working branch)
git reabse -i master

여러개의 커밋이 있던 경우 첫 줄의 pick만 제외하고 나머지 commits는 picks로 바꿔준다.

충돌이 발생하지 않는다면 바로 push!
만약 reject될 경우 깃헙과 로컬에서 작업내용이 일치하기 않기 때문이므로
git push origin (working branch) --force 를 하면 된다.

충돌이 발생할 경우

  1. 충돌 해결
  2. git add .
  3. git rebase --continue

충돌이 발생하는 만큼 위의 과정을 반복하면 된다.

bonus
이런 것도 가능하다

git pull --rebase; git push
profile
Hello, world!

0개의 댓글