git push -u origin master 中的 -u 标志是什么意思?

208
我在想这个命令中的-u标志是什么意思?
git push -u origin master

3
git-push 是 Git 中的一个命令,用于将本地代码推送(push)到远程 Git 仓库。该命令使用以下语法:git push 其中 <remote> 是远程 Git 仓库的名称,可以是 URL 或已配置的别名;<branch> 是要推送到远程仓库的本地分支名称。如果省略 <branch> 参数,则会将当前所在分支的所有提交推送到远程仓库中具有相同名称的分支。如果远程分支不存在,则会自动创建一个新的分支。除了以上基本用法之外,该命令还支持许多选项和参数,以及其他高级用法。详细信息请参阅 git-push 的文档。 - devnull
17
$ git push --help 的翻译是:$ git push --help - Kjuly
2个回答

201
-u选项具有以下功能: 对于每个与远程分支保持同步或已成功推送的本地分支,添加一个上游(tracking)引用,该引用可供无参数的git pull和其他命令使用。 因此,在使用-u选项将本地分支推送后,该本地分支将自动链接到远程分支,并且您可以无需任何参数使用git pull。

4
对于每个更新或成功推送的分支 - 如果推送成功,则会创建一个远程分支,是吗?那么为什么要添加上游引用? - Ace
4
您将能够使用git pullgit push命令而不需要参数。 - Patrick
对 @Ace 的评论晚回复:Git 倾向于避免默认设置,因为处理上游和本地仓库及其交互的方式有很多种。使用 -u 默认情况下为该分支添加上游引用,以便您的本地副本具有跟踪引用,自动填充 <repository>选项。 您可以在此处找到自动设置跟踪分支的默认行为的良好方法。 - Tom 'Blue' Piddock

60

这与--set-upstream是相同的。

它用于在您的git配置中将origin设置为上游远程端。

如果你不想每次运行git push时手动指定远程端,它可能会有所帮助。

另外...

由于您对stackOverflow还不熟悉,请花些时间阅读避免提出哪些问题?部分的帮助文档,因为有时您可以通过简单地浏览文档找到答案。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接