Git에서 두 부랜치를 합치는 방식으로는 merge
와 rebase
가 있다. Rebase는 아래 그림과 같이 C3
에서 변경된 사항을 Patch로 만들고 이를 다시 C4
에 적용시키는 방법이다. rebase
명령으로 한 브랜치에서 변경된 사항을 다른 브랜치에 적용할 수 있다.
git pull
명령어를 실행할 때 기본적으로 --rebase
옵선이 적용되도록 pull.rebase
설정을 추가할 수 있다.
$ git config --global pull.rebase true
일반적으로 Rebase를 함부로 하는 것은 위험하지만, Push하기 전에 정리를 위해 혹은 Push 하지 않을 Branch를 Rebase 하는 것은 괜찮다. 하지만 이미 Push 되어 있는 커밋을 Rebase 하면 문제가 생길 확률이 높다. 따라서 Rebase 하기 전에 git pull --rebase
를 이용하여 문제를 미리 방지하도록 하는 것이 현명하다.