【问题标题】:What is the significance of missing parameters on the 'git push' command?“git push”命令中缺少参数有什么意义?
【发布时间】:2011-09-17 22:52:31
【问题描述】:

以下命令的意义是什么:

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

【问题讨论】:

    标签: git version-control git-push


    【解决方案1】:
    git push <remote> <refspec>
    

    这个命令将一些东西从本地仓库推送到远程仓库。 &lt;remote&gt; 可以是已配置远程的名称或远程 git 存储库的完整 URL。

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

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

    如果您不提供要推送的 refspec(第四个参数),那么如果为被推送的远程配置了推送 refspec(配置变量:remote.&lt;remotename&gt;.push),则使用它,否则行为取决于配置变量push.default的设置。

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

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

    【讨论】:

    • +1 一个非常好的答案 - 特别是当您在 git push 中省略 refspec 时的行为经常被误解。
    猜你喜欢
    • 2018-12-22
    • 2016-11-02
    • 2020-03-29
    • 2018-11-05
    • 2023-03-30
    • 1970-01-01
    • 2021-09-16
    • 2014-06-08
    • 1970-01-01
    相关资源
    最近更新 更多