15

此问题与“ Bad git config file .git/config ”不同,因为它在使用 .git 时失败git init

/home/mirror/.gitconfig 似乎没有什么问题:

[mirror@home php]$ git init
error: Malformed value for push.default: simple
error: Must be one of nothing, matching, tracking or current.
fatal: bad config file line 8 in /home/mirror/.gitconfig

这是 ~/.gitignore 的内容:

cat ~/.gitconfig
[alias]
        lg = log --graph --pretty=format:'%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative
[user]
        email = xxxxxx@gmail.com
        name = xxxxx
[push]
        default = simple
4

6 回答 6

22

在 git v1.7.11 中添加了 Simple。如果您的 git 版本较旧,则此选项不存在。只需将其从您的设备中删除,conf您就可以进行init回购。

查看文档

于 2012-09-06T07:32:21.233 回答
6

现在 git 1.8 出来了,这个问题不断出现。幸运的是,来自 git 的消息现在非常有用:

warning: push.default is unset; its implicit value is changing in
Git 2.0 from 'matching' to 'simple'. To squelch this message
and maintain the current behavior after the default changes, use:

   git config --global push.default matching

To squelch this message and adopt the new behavior now, use:

   git config --global push.default simple

See 'git help config' and search for 'push.default' for further information.
(the 'simple' mode was introduced in Git 1.7.11. Use the similar mode
'current' instead of 'simple' if you sometimes use older versions of Git)

例如,git (vc) 的 emacs 接口不理解参数 'simple',因此您最好暂时使用参数 'matching'。

于 2013-01-15T09:53:46.187 回答
5

尝试更新配置以使用matching而不是simplefor push.default

git config --global push.default matching

或者

git config push.default matching
于 2013-09-17T16:58:28.127 回答
1

请注意,识别问题可能会有问题,考虑到问题位于:

  • 第 7 行 ( default = simple),
  • 不是第 8 行(这里不存在)

解决方案:

  • 更改第 7 行的值可以解决问题 ( git config --global push.default matching)
  • 删除配置也有帮助(git config --global --unset-all push.default

但最重要的是,从 git 2.2 (Q4 2014) 开始,git config 错误行号将是准确的。
请参阅提交 b3b3f60,由Matthieu Moy ( moy)

config.c:修复错误中行号的准确性

git_config*()如果回调向家庭返回负值,它们会die()在打印行号和文件名时调用。
当前打印的行号减一,因此打印了错误的行号。

linenr指出我们刚刚在回调调用期间解析的行,以在错误消息中获取准确的行号。

于 2014-10-20T19:54:00.497 回答
1

如果您使用低于 1.7.11 的 Git 版本,请current使用类似模式。simple

git config --global push.default current
于 2017-08-09T05:57:10.807 回答
0

由于我在搜索Malformed value for push.default: simple推/拉时遇到的错误时遇到了这个问题,所以我认为其他人也可能如此。

这是一个相关问题,它为路人提供了更多信息(有关更多链接,请参阅我最后的回答): GIT: Can't Push (Strange Config Issue)

请特别注意,此错误似乎是由某处的较旧版本的 Git 引起的。最好的解决方案是在所有机器上更新到最新版本的 Git。

如果您无法做到这一点,只需运行以下命令(如@morefromalan 所述):

git config --global push.default matching

或者

git config --global push.default upstream

摆脱错误。这会更改此处push描述的操作的默认行为。您可能不得不这样做,但它似乎对我有用,只是将默认行为更改为.pullpushpushupstream

祝你好运!

于 2014-06-12T22:10:11.613 回答