gitversion-controlrebasepull

How can I pull all remote changes with rebase instead of merge?


I can pull changes using git pull, but it merges my local commits. Is there a git rebase equivalent with which I can pull in remote changes?


Solution

  • Yes, you can do git pull --rebase.

    You can also set that to be the default pull behaviour when you track a branch with git config branch.autosetuprebase always. Replace "always" with "remote" or "local" if you want to do it to those specific types of branches that you're tracking.

    Now all you have to do is git pull.

    If for some reason you want to do a merge, you can do git pull --no-rebase.

    See comments below for how to do this on existing branches.