Git - push.default "matching"和 "simple"有什么区别

标签 git git-push git-remote

我已经使用 git 一段时间了,但我从来没有需要自己设置一个新的远程仓库,而且我一直对这样做感到好奇。我一直在阅读教程,但对如何让“git push”工作感到困惑。

如果我简单地使用 git push 它会要求我查看要指向的默认分支(?)?它提供给我的这两个选项有什么区别?

git config --global push.default matching
git config --global push.default simple

匹配只会推送我在本地存储库中拥有的任何分支,如果它们不匹配,我必须手动告诉它推送我拥有的任何新本地分支,对吗?这是最好的使用方法还是最简单的方法?

最佳答案

git push 可以推送所有分支或依赖此配置的单个分支:

推送所有分支

git config --global push.default matching

它将所有分支推送到远程分支并 merge 它们。 如果你不想推送所有分支,如果你完全指定它的名称,你可以推送当前分支,但这与 default 没有太大区别。

如果命名的上游相同,则只推送当前分支

git config --global push.default simple

因此,在我看来,最好使用此选项并逐个分支推送您的代码。最好手动和单独推送分支。

关于Git - push.default "matching"和 "simple"有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21839651/

相关文章:

git - 为什么我没有收到错误 "fatal: The current branch A has no upstream branch."

git - 为什么 git 树对象不以与提交和标签相同的方式对 SHA-1 哈希进行编码?

git - 如何在修复分支中排除 azure-pipelines.yml 文件

git - 手动编辑 git add --patch 导致错误(补丁失败)

git:禁用自动推送到某个远程分支

git - 配置本地分支以推送到特定分支

GIT:致命: 'master' 似乎不是 git 存储库

来自其他本地用户的 git clone

git - 无法从用户存储库推送到位于 NAS 上的主存储库

git - 使用 Git 强制远程 repo 压缩 (GC)