为什么要推送匹配Git中的默认值?

Cas*_*ash 5 git

对于默认设置,Git推送到"匹配"分支 - 具有相同名称的分支,而不是"上游"分支 - 正在跟踪的分支.我可以更方便地切换到"上游"模式,这样我就不必每次都指定我正在推送的分支,但我认为'匹配'是默认的原因.是否有任何问题将设置设为"匹配",而不是"上游"设置将解决?

Von*_*onC 6

正如" 警告:push.default未设置;其隐式值在Git 2.0中更改 "中所述:

匹配意味着git push会将所有本地分支推送到远程上具有相同名称的分支.这样很容易意外地推动您不想要的分支.

这不是最好的做法:你不应该推动所有的分支机构.
它们中的大多数可以是用于测试的私有分支或仅用于内部开发.

simple(Git 2.0默认值)意味着只将当前分支git push推送到git pull将从中拉出的分支,并检查它们的名称是否匹配.

默认情况下,只有在远程端存在具有相同名称的分支时(或者如果您明确创建它),它才会推送您正在处理的分支.

您可以在"[git push - Default behavior?].2 "中找到有关该策略更改的更多讨论.

我在" git - push currentvs. push upstream(tracking) "中描述了其他政策.


新的默认策略现在合并到main(commit 289ca27)并声明它是commit 11037ee中的新默认值:

我们承诺改变懒惰的"git push [there]"的行为,它没有说明在Git 2.0中从"匹配"到"简单"的命令行推送什么.

这最终翻了一下.