在'git push'命令中缺少参数的意义是什么?

时间:2011-09-17 22:52:31

标签: git version-control git-push

以下命令的意义是什么:

  1. git push
  2. git push origin
  3. git push origin master

1 个答案:

答案 0 :(得分:5)

git push <remote> <refspec>

此命令将一些内容从本地存储库推送到远程存储库。 <remote>可以是已配置的远程名称或远程git存储库的完整URL。

<refspec>,其一般形式是可选的+,后跟<src>:<dst>,其中<src>是本地分支,标记或提交ID的名称,{{1是要推送到的远程分支或标记的名称。如果省略<dst>,则相当于:<dst>。这意味着<src>:<src>相当于git push origin mastergit push origin master:master用于尝试非快进推送。

如果您不提供远程存储库(第三个参数),则将使用当前分支的已配置远程(如果有),如果没有,则为+

如果你没有提供refspec来推送(第四个参数),那么如果有一个已配置的push refspec用于被推送的远程(配置变量:origin)那么就会使用,否则行为取决于关于配置变量remote.<remotename>.push的设置。

默认值为push.default,它会推送所有本地分支(按名称)匹配被推送到的远程分支上的远程分支。

matching的其他选项是push.default(什么都不做),nothingupstream将当前分支推送到其配置的上游分支tracking它将当前分支推送到遥控器上同名的分支。