git push -u origin master 中的 -u 参数是什么意思?

git push -u origin master 中的 -u 参数是什么意思?

我一直Bitbucket在使用Atlassian,当我需要将一些数据推送到我的存储库时,我必须输入以下命令:

git push -u 源主机

在 git 文档中它是:

git push origin master

为什么我们需要这个特殊-u参数?它起什么作用?

答案1

git 推送手册(可以在终端中使用以下方式查看man git-push):

-u
--设置上游

对于每个最新的或成功推送的分支,添加上游(跟踪)引用,由无参数使用git-pull[1]和其他命令。有关详细信息,请branch.<name>.merge参阅git 配置[1]

简单来说,它将推送目标设置为当前分支的上游。

git push -u origin master一旦您在分支上发出master,您就可以简单地git push在该分支上不带额外的参数,它将等同于git push origin master

请注意,分支名称不必匹配。您可以将本地设置master为推送到origin/foo,尽管这会造成混淆。您还可以明确推送到上游以外的分支,它不会覆盖上游设置。

无需推送即可设置上游分支,使用git branch -u origin/master。请注意,origin/master是选项的参数-u,而不是git branch一般命令的参数,因此必须在格式中指定它,remoteName/branchName而不是两个单独的参数:remoteName branchName

相关内容