关于github:“git push -u origin master”中的“-u”是否添加对远程跟踪分支的引用?

Does “-u” in “git push -u origin master” add a reference to a remote tracking branch?

我理解git push中的-u参数将本地分支与其对应的远程分支关联起来,这样git pullgit push就可以在不使用其他参数的情况下使用。

但是,正如此答案(https://stackoverflow.com/a/16018004/8278160)所述:

1
 git push -u origin master

与以下内容相同:

1
 git push origin master; git branch --set-upstream master origin/master

正如凯西·李在这段视频中所说(https://www.youtube.com/watch?v=xogn0q4sb9o),格式为origin/repo用于指定远程跟踪分支。

因此,上述行中的git branch --set-upstream master origin/master是将本地分支master与其相应的远程跟踪分支(源站/主站)关联,还是直接与远程分支关联?


associate the local branch, master, with its corresponding remote tracking branch (origin/master), or to the remote branch directly?

在本地回购中,没有远程分支,只有远程跟踪分支,它们是本地分支跟踪(即保存在回购中获取的最后一个已知状态的副本)远程分支。

更多信息请参见"很难理解git fetch"。