git push 配置push.default 推送失败
push.default 和 matching 的含义:
push.default 定义了 Git 推送操作的默认策略,它可以具有以下几个值:
-
matching(匹配):这是默认设置。它表示 Git 将推送所有与远程仓库同名的分支。这意味着如果你有多个本地分支,Git 会尝试将它们全部推送到远程仓库,与远程仓库同名的分支。这可能会导致不必要的推送,尤其是当你只想推送当前分支时。
-
simple(简单):这是 Git 2.0 版本后的默认设置。它表示 Git 只会推送当前分支,并且当前分支的追踪分支是远程仓库的同名分支。这是一个更安全的默认选项,因为它只推送当前正在开发的分支。
-
current(当前):这意味着 Git 将只推送当前分支,无论它是否有追踪分支。这也是一个较为安全的选项,因为它只会推送你当前工作的分支。
-
nothing(无):这表示 Git 不会自动推送任何分支。你需要明确指定要推送的分支。
选择适当的 push.default 设置取决于你的工作流程和偏好。通常,如果你使用 Git 的新版本,simple 或 current 是更好的默认选项,因为它们更安全,避免了不必要的推送。如果你使用较早版本的 Git 或有特殊需求,你可以选择 matching 或 nothing。
要将 push.default 设置为 matching,你可以运行以下命令:
git config --global push.default matching
请注意,如果你使用较新版本的 Git,可能已经默认使用了 simple 或 current,所以不需要显式地设置 push.default。在这种情况下,你可以查看当前的设置,以确认默认值:
git config --global push.default
解决方案
git config --global push.default matching