git pull把git fetch和git merge压缩成了一条命令.
用法
git pull <remote>
作用和git fetch <remote> && git merge origin/<current-branch>一样.
git pull --rebase <remote>
和上面的命令类似, 但是不是使用git merge合并远程分支和本地分支, 而是使用git rebase合并.
讨论
下图解释了pull的过程.
通过rebase来pull
许多开发者喜欢rebase多过于merge, 就像是在说"我想把我的修改放在其他人的修改之上".
事实上, 使用rebase来pull是一个很常见的工作流, 甚至为了他专门有个config:
git config --global branch.autosetuprebase always
运行了上面的命令后, git pull不在是git fetch && git merge了, 而是git fetch && git rebase.
例子
下面的例子演示如何同步中央仓储的master分支:
git checkout master git pull --rebase origin