`git push origin'的结果是什么?

Joh*_*hir 8 git

我在我的本地功能分支foo上工作.然后我想把这个新分支推向原点,以便其他人可以继续工作.通常的方法是:

git push origin foo:foo
Run Code Online (Sandbox Code Playgroud)

我最终做了,它完全按预期工作,推高了61个对象.在此之前,我一想到就试过:

git push origin
Run Code Online (Sandbox Code Playgroud)

想想也许它会默认基于我本地分支的名称创建一个新的远程分支.输出是正常推送输出,只有13个对象被推高.结果是不可思议的.在获取之后,其他开发人员或我的本地仓库中没有出现任何新内容.

那么当我这么做时git push origin,git认为我告诉它做什么,以及它对我的远程回购有什么影响?

Syl*_*sne 12

这取决于你的git版本.在旧版本中,它会尝试推动也存在于远端的每个本地分支.从版本1.6.3开始,行为由push.default配置选项控制.

价值观是:

  • matching:[ 默认 ]使用相同的本地和远程名称推送所有分支
  • nothing :什么都不推
  • tracking :只有在跟踪远处分支时才会推送当前分支
  • current :将推送当前分支

  • 我将补充说:`matching`是默认默认值 (2认同)