对于默认设置,Git推送到"匹配"分支 - 具有相同名称的分支,而不是"上游"分支 - 正在跟踪的分支.我可以更方便地切换到"上游"模式,这样我就不必每次都指定我正在推送的分支,但我认为'匹配'是默认的原因.是否有任何问题将设置设为"匹配",而不是"上游"设置将解决?
正如" 警告:push.default未设置;其隐式值在Git 2.0中更改 "中所述:
匹配意味着git push会将所有本地分支推送到远程上具有相同名称的分支.这样很容易意外地推动您不想要的分支.
这不是最好的做法:你不应该推动所有的分支机构.
它们中的大多数可以是用于测试的私有分支或仅用于内部开发.
simple(Git 2.0默认值)意味着只将当前分支
git push
推送到git pull将从中拉出的分支,并检查它们的名称是否匹配.
默认情况下,只有在远程端存在具有相同名称的分支时(或者如果您明确创建它),它才会推送您正在处理的分支.
您可以在"[git push - Default behavior?].2 "中找到有关该策略更改的更多讨论.
我在" git - push current
vs. push upstream
(tracking) "中描述了其他政策.
新的默认策略现在合并到main(commit 289ca27)并声明它是commit 11037ee中的新默认值:
我们承诺改变懒惰的"git push [there]"的行为,它没有说明在Git 2.0中从"匹配"到"简单"的命令行推送什么.
这最终翻了一下.