Don't git pull, use git pull --rebase instead
Emmanouil Liakos
Posted on December 8, 2020
Here is another quick post about a neat thing I recently learned.
Git pull
What git pull
will actually do behind the scenes, is git fetch & git merge
. It will fetch changes from the remote and create a new merge commit.
Git pull --rebase
What git pull --rebase
will do, is git fetch & git rebase
, effectively reapplying our local changes on top of the remote changes, resulting in a tidy, linear commit history, like this:
Quick tips
Tip #1: Use git config --global pull.rebase true
to avoid typing the --rebase
flag each time you pull 🧐
Tip #2: Don't forget that you can do all sorts of editing to your commits, before pushing them by using interactive rebase.
git rebase -i
You can check more about this in my other post about useful git commands.
Warning: Use rebase only on local branches, as it rewrites commit history (creates new commits)!
Posted on December 8, 2020
Join Our Newsletter. No Spam, Only the good stuff.
Sign up to receive the latest update from our blog.