我一直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
。