开发者

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

开发者 https://www.devze.com 2023-02-17 07:11 出处:网络
I can pull changes using git pull, but it merges my local commits.Is the开发者_Python百科re a git rebase equivalent with which I can pull in remote changes?Yes you can git pull --rebase.

I can pull changes using git pull, but it merges my local commits. Is the开发者_Python百科re a git rebase equivalent with which I can pull in remote changes?


Yes you can 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.

Hope this helps.

UPDATE: see comments below for how to do this on existing branches.


Instead of autosetuprebase, you can use the pull.rebase config option to change the behavior for every git pull (instead of only newly-created branches):

[pull]
    rebase = true

The difference is this will apply to non-tracking branches and any branches you had set up before enabling autosetuprebase. So if you really want pull --rebase to always be the default, pull.rebase is the way to go!


I usually use a fetch/rebase combination so my current (local) work stays at the top:

git fetch
git rebase origin/develop


To change default behavior from merge to rebase In git >= 1.7.9:

git config --global pull.rebase true

remove global if you want to apply for current repo only

0

精彩评论

暂无评论...
验证码 换一张
取 消