还是扩展为git push origin <current-branch-name>
?
git push [remote-name] [branch-name]
答案 0 :(得分:5)
默认情况下,git push
从git push origin <current-branch>
扩展为Git 2.0
或旧版本为git push origin <all-matching-branches>
。
关于git push
的所有问题的答案都在git push
的文档页面中:http://git-scm.com/docs/git-push
该页面中的一个片段(我删除了无数的选项,因为问题中未提及这些选项):
git push ... [<repository>] [<refspec>]
如果命令行未指定使用
<repository>
参数进行推送的位置,则会查询当前分支的branch.*.remote
配置以确定推送位置。如果缺少配置,则默认为origin
。如果命令行未指定使用
<refspec>...
参数或--all
,--mirror
,--tags
选项推送的内容,则命令会查找默认<refspec>
通过咨询remote.*.push
配置,如果找不到,请尊重push.default
配置以决定要推送的内容(有关push.default
的含义,请参阅git-config[1]
。)
由于Git 2.0
push.default
的默认值为simple
,这意味着推送当前分支,其中包含一些可能导致git
拒绝的检查和条件在某些情况下push
。
在Git 2.0
之前,push.default
的默认值曾是matching
,这意味着推送两端具有相同名称的所有分支。此模式还需要满足一些条件才能成功。
有关push.default
的详细信息,请参阅git config
的文档页面或在终端上输入git help config
。
答案 1 :(得分:2)
是的,如果你是主人,它会扩展到git push origin master
。
如果您在分支机构mybranch
,它会扩展为git push origin mybranch
。
如果您从未推过mybranch
,则会显示以下消息:
fatal: The current branch mybranch has no upstream branch.
To push the current branch and set the remote as upstream, use
git push --set-upstream origin mybranch
然后,您必须为第一个git push --set-upstream origin mybranch
执行push
一次,然后您可以执行git push
,这将扩展为git push origin mybranch
。