“-上游”功能是什么?


Answers:


411
git branch --set-upstream <remote-branch>

设置当前本地分支的默认远程分支。

以后的任何git pull命令(当前本地分支都已检出)
将尝试将提交从<remote-branch>引入当前本地分支。


避免显式键入的一种方法--set-upstream是使用其速记标志-u,如下所示:

git push -u origin local-branch

这将为将来的任何推/拉尝试自动设置上游关联。
有关更多详细信息,请查看有关上游分支和跟踪的详细说明


为避免混淆,最近版本的版本git不赞成使用此模棱两可的--set-upstream选项,而推荐使用--set-upstream-to语法和行为相同的更冗长的选项

git branch --set-upstream-to <origin/remote-branch>

7
--set-upstream标志已弃用,将被删除。考虑使用--track或--set-upstream-to
Rohit Singh Sengar,

1
在此命令git push -u origin local-branchorigin代表什么?是否有一个地方我会键入比其他任何东西的情况下origin-u
约翰·亨克尔

2
@JohnHenckel origin指的是用于克隆的远程git存储库。可以有多个远程git存储库。在这种情况下,origin可以用希望引用的所需遥控器的专有名称代替。
TheCodeArtist

做一个git remote -v来找到您的遥控器,默认的origin通常是
xploreraj

39

当您推送到某个远程并且使用--set-upstream标志git 时,会将您要推送到的分支设置为您要推送的分支的远程跟踪分支。

添加远程跟踪分支意味着混帐就知道你想什么时候做什么git fetchgit pull还是git push在未来。它假定您要保持同步的本地分支和远程分支保持同步,并执行适当的操作来实现此目的。

您可以使用git branch --set-upstream-to或实现相同的目的git checkout --track。有关更多信息,请参见跟踪分支上的git帮助页面。


当我用-t结帐时,它确实将上游设置为推动,仅用于拉动。
吉姆(Jim)

8

git branch --set-upstream <<origin/branch>> 正式不再受支持,由取代 git branch --set-upstream-to <<origin/branch>>

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.