git pull --rebase

git pull --rebase What’s happening here? Git will rewind (undo) all of your local commits, pull down the remote commits then replay your local commits on top of the newly pulled remote commits. If any conflicts arise that git can’t handle you’ll be given the opportunity to manually merge the commits then simply run git rebase --continue to carry on replaying your local commits.

福音: 把本地的commits放到remote commit的上面,一定程度上避免了交叉感染

Tell git to always rebase when pulling, to do this on a project level add this to your .git/config file:

1
2
[branch “master”]
  rebase = true

Or do it all on the command line with git config branch.master.rebase true

Add a global config option to always rebase when pulling

1
2
[branch]
  autosetuprebase = always

Or again do it all on the command line with git config --global branch.autosetuprebase always

  1. And the final way, which is what I personally use, in ~/.gitconfig

    1
    2
    
    [alias]
      pl = pull —rebase
    I have a bunch of aliases setup so I can type less and save myself those valuable microseconds. This will allow you to type git pl (or in my case g pl as I have git aliased to g) and it will automatically rebase. If I want to do a pull and not rebase for a specific reason I can use the command git pull which will do an pull without rebaseing.

Of course you could use the 3rd solution and run the command git pull --no-rebase but that involves more typing, and I’m a lazy typer!

/// GIT ALIAS 福利

http://kernowsoul.com/blog/2012/06/20/4-ways-to-avoid-merge-commits-in-git/

猜你喜欢

转载自www.cnblogs.com/qinqiu/p/9177871.html