master 브랜치에서 feature 브랜치를 만들었을때, 그 시점의 master 브랜치가 base 가 된다. rebase란 브랜치에서 기준이 되는 base를 가장 최신의 것으로 바꾸는 것을 의미한다.
커밋이 2-3개 정도 쌓이면 rebase를 하고 스쿼시를 하자. 하나하나 합치는 과정에서 커밋 개수 만큼 conflict가 나기 때문이다.
$ git rebase -i master
git add 한다. 💥
$ git rebase --continue
rebase를 끝낸다. 다시 conflict가 나는 경우가 있는데, 그럴때는 success가 뜰 때까지 반복하면 된다.
rebase는 git history를 조작한 것이기 때문에 push 할 때 다른 repositiory로 생각하고 오류가 뜰때도 있다. 그럴때는 $ git push origin barnch --force
라고 쓰면 된다.
rebase 할 때만 --force
를 사용하자! 내 브랜치에서만 rebase를 사용하자. master 브랜치에서 rebase 절.대.금.지 !