如何轻松地从远程主机拉取数据?
How to pull data from remote master easy?
有没有一种简单的方法可以将当前分支与远程 master
同步?
我使用下一个命令来做到这一点(来自本地分支 develop
):
git checkout master
git pull
git checkout develop
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
而不是第一个 checkout
和 pull
。
所以现在你只有一个 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 次缓慢的结帐。
缺点是如果你的主人和起源之间有任何冲突,它就不会工作。
*如果是快进更新,那就是你没有做任何工作。
有没有一种简单的方法可以将当前分支与远程 master
同步?
我使用下一个命令来做到这一点(来自本地分支 develop
):
git checkout master
git pull
git checkout develop
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
而不是第一个 checkout
和 pull
。
所以现在你只有一个 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 次缓慢的结帐。 缺点是如果你的主人和起源之间有任何冲突,它就不会工作。
*如果是快进更新,那就是你没有做任何工作。