如何轻松地从远程主机拉取数据?

How to pull data from remote master easy?

有没有一种简单的方法可以将当前分支与远程 master 同步? 我使用下一个命令来做到这一点(来自本地分支 develop):

  1. git checkout master
  2. git pull
  3. git checkout develop
  4. git merge master

您的流程可以完成工作,而且打字时间似乎不长,但您始终可以通过设置别名来加快流程,例如

git config --global alias.whatever '!git checkout master && git pull && git checkout develop && git merge master'

# then to use it just type
git whatever

您实际上不需要检出一个分支来同步它*,因此您可以 运行 git fetch origin master:master 而不是第一个 checkoutpull

所以现在你只有一个 fetch 和一个 merge,但是等一下,如果你读了 git pull documentation 的第一部分,你就会知道 pull 只是一个 fetch,然后是一个 merge.

所以实际上你所要做的就是一个特殊的 git pull: git pull origin master:master.

它将从 origin master 获取更改并将它们合并到您当前的分支中。 master:master 表示将更改从 master 下拉到您当前的分支,但同时更新您自己的 master 副本(第一个 master 是您正在拉取的,第二个是同时更新您自己的 master)

除了是 1 个命令之外,这种方式的主要好处是您可以避免进行 2 次缓慢的结帐。 缺点是如果你的主人和起源之间有任何冲突,它就不会工作。

*如果是快进更新,那就是你没有做任何工作。