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

jaf*_*ffa 3 git version-control git-push

以下命令的意义是什么:

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

CB *_*ley 5

git push <remote> <refspec>
Run Code Online (Sandbox Code Playgroud)

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

<refspec>,一般形式是可选的,+后跟<src>:<dst>where <src>本地分支,标记或提交ID <dst>的名称,并且是要推送到的远程分支或标记的名称.如果:<dst>省略,则相当于<src>:<src>.这意味着git push origin master相当于git push origin master:master.将+用于尝试非快速向前推.

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

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

默认设置是matching推送所有本地分支,这些分支匹配(按名称)被推送到的远程分支上的远程分支.

其他选项push.defaultnothing(什么都不做),upstream或者tracking将当前分支推送到其配置的上游分支current,并将当前分支推送到远程上的同名分支.