当我在分支B1时,我可以从远程更新主服务器而留在B1吗?即不做
git checkout master git pull git checkout B1
但短一点的?
tkqqtvp11#
您可以通过以下方式在不离开本地分支的情况下更新本地master:
git pull origin master:master
此命令的作用是拉取远程主服务器并更新本地主服务器。通常git pull origin会拉取origin中的所有分支。可以通过git pull origin <remote-branch>拉取一个分支。实际上,最后一个参数是refspec。
git pull origin
origin
git pull origin <remote-branch>
git-pull
git pull origin master
afdcj2ne2#
你跑:
git fetch --all
或
git remote update
在此之后,远程master将在远程跟踪分支origin/master中,您将能够看到其进度,就像本地分支master一样。您可以选择一个时间来合并/rebase本地master。说明:最有可能的是,您有一对远程跟踪分支origin/master和本地分支master。master在某个时刻从origin/master开始,并包含局部变化。git pull(1)更新origin/master和(2)合并或重新建立本地修改与origin/master进度。(1)可以通过我推荐的git fetch来完成,(2)在当前的实现中,无论如何都需要检出master,即使合并的更改微不足道。
master
origin/master
git pull
git fetch
7xzttuei3#
根据我的经验,git pull origin master:master命令不能在2.37.2版本的git上运行,或者我应该说,它可以,但是,太多了。实际上,最后一个命令(git pull origin master:master)做了三件不同的事情:1.它更新分支master:我的意思是,它做的工作就像你在分支master上做git pull一样。换句话说,它相当于git checkout master && git pull1.然后,我将分支master合并到您当前的分支B1(您在问题中给出的名称)。1.最后,根据您的合并策略(rebase=true,rebase=false,fast-forward,--ff-only),它会在当前分支(B1)上创建一个新的提交。注意到这一点:它会在你的***当前分支(B1)***上创建一个新的提交,它与分支master不同因此,我建议使用另一个命令:git fetch --force --update-head-ok --verbose origin master:master运行git fetch --help以获取有关选项--update-head-ok和--force的更多信息。希望有帮助:)
2.37.2
(git pull origin master:master)
git checkout master && git pull
B1
rebase=true
rebase=false
fast-forward
--ff-only
(B1)
git fetch --force --update-head-ok --verbose origin master:master
git fetch --help
--update-head-ok
--force
3条答案
按热度按时间tkqqtvp11#
您可以通过以下方式在不离开本地分支的情况下更新本地master:
此命令的作用是拉取远程主服务器并更新本地主服务器。
通常
git pull origin
会拉取origin
中的所有分支。可以通过git pull origin <remote-branch>
拉取一个分支。实际上,最后一个参数是refspec。git-pull
的情况下,src 表示远程分支,dst 表示本地分支。git pull origin master
,只会拉取远程主机,但不会更新本地主机。git pull origin master:master
,将拉取远程主机并更新本地主机。afdcj2ne2#
你跑:
或
在此之后,远程
master
将在远程跟踪分支origin/master
中,您将能够看到其进度,就像本地分支master
一样。您可以选择一个时间来合并/rebase本地master
。说明:最有可能的是,您有一对远程跟踪分支
origin/master
和本地分支master
。master
在某个时刻从origin/master
开始,并包含局部变化。git pull
(1)更新origin/master
和(2)合并或重新建立本地修改与origin/master
进度。(1)可以通过我推荐的git fetch
来完成,(2)在当前的实现中,无论如何都需要检出master
,即使合并的更改微不足道。7xzttuei3#
根据我的经验,
git pull origin master:master
命令不能在2.37.2
版本的git上运行,或者我应该说,它可以,但是,太多了。实际上,最后一个命令
(git pull origin master:master)
做了三件不同的事情:1.它更新分支
master
:我的意思是,它做的工作就像你在分支master
上做git pull
一样。换句话说,它相当于git checkout master && git pull
1.然后,我将分支
master
合并到您当前的分支B1
(您在问题中给出的名称)。1.最后,根据您的合并策略(
rebase=true
,rebase=false
,fast-forward
,--ff-only
),它会在当前分支(B1)
上创建一个新的提交。注意到这一点:它会在你的***当前分支(B1)***上创建一个新的提交,它与分支master
不同因此,我建议使用另一个命令:
git fetch --force --update-head-ok --verbose origin master:master
运行
git fetch --help
以获取有关选项--update-head-ok
和--force
的更多信息。希望有帮助:)