此问题与“Bad git config file .git/config”不同,因为它在使用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
答案 0 :(得分:21)
在git v1.7.11中添加了Simple。如果您的git版本较旧,则此选项不存在。只需从您的conf中删除它,您就可以初始化。
请参阅https://raw.github.com/git/git/master/Documentation/RelNotes/1.7.11.txt
答案 1 :(得分: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'。
答案 2 :(得分:5)
尝试更新配置以使用matching
代替simple
push.default
。
git config --global push.default matching
或
git config push.default matching
答案 3 :(得分:1)
请注意,考虑到问题出在以下情况,确定问题可能会出现问题:
default = simple
),解决方案:
git config --global push.default matching
)git config --global --unset-all push.default
)但最重要的是,启动git 2.2(2014年第4季度), git config错误行号将是准确的。
请参阅commit b3b3f60,Matthieu Moy (moy
):
config.c
:修正错误中行号的准确性如果回调向
git_config*()
系列返回否定值,则会在打印行号和文件名时调用die()
。
目前打印的行号被一个关闭,因此打印错误的行号。使
linenr
指向我们刚刚在调用回调期间解析的行,以获取错误消息中的准确行号。
答案 4 :(得分:1)
如果您使用的是早于1.7.11的Git版本,请使用类似模式current
代替simple
。
git config --global push.default current
答案 5 :(得分: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
操作的默认行为,如HERE所述。您可能对pull
以及push
必须这样做,但似乎只是将默认的push
行为更改为{{} 1}}。