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
|
|
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
|
|
Or again do it all on the command line with git config --global branch.autosetuprebase always
-
And the final way, which is what I personally use, in
~/.gitconfigI have a bunch of aliases setup so I can type less and save myself those valuable microseconds. This will allow you to type1 2[alias] pl = pull —rebasegit pl(or in my caseg plas I havegitaliased tog) and it will automatically rebase. If I want to do a pull and not rebase for a specific reason I can use the commandgit pullwhich 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/
浙公网安备 33010602011771号