在Fedora Linux版本20上使用Git,版本1.9.3,我正在查询用户的名字,例如:
git config user.name
# Foo Bar
但是当我尝试改变它时:
git config user.name 'Bar Foo'
我收到以下错误:
# error: could not lock config file .git/config: No such file or directory
根据" XDG基本目录规范" (http://standards.freedesktop.org/basedir-spec/basedir-spec-latest.html)和" FILES" git-config(1)联机帮助页的一部分我将我的Git配置文件放在"$XDG_CONFIG_HOME/git/config"
下。
请注意,"XDG_CONFIG_HOME
变量设置为"$HOME/.config"
,我的环境中未设置GIT_CONFIG
变量。
我知道" FILES" git-config(1)联机帮助页的一部分说明:"如果$ XDG_CONFIG_HOME未设置或为空,将使用$ HOME / .config / git / config。"
但是Git应该一致地忽略"$XDG_CONFIG_HOME/git/config"
文件,即在阅读和时写作。
我错过了什么吗?
答案 0 :(得分:8)
您尝试在本地设置(在.git/config
中)而不是全局设置(在主目录的XDG配置中)。
发生错误是因为您实际上并不在存储库中。这是一个虚假的错误信息,但我可以重复一遍:
$ cd /someplace/with/no/repo; git config user.name boo
error: could not lock config file .git/config: No such file or directory
作为Biffen already mentioned in a comment,您需要添加--global
。
作为VonC notes,误导性错误消息从git版本2.8变为合理的错误消息。
答案 1 :(得分:1)
请注意,如果您忘记了--global
,则使用git 2.8(2016年3月)会更明确地显示错误消息。
commit 638fa62见Johannes Schindelin (dscho
)(2016年2月24日)
(由Junio C Hamano -- gitster
--合并于commit d3faba8,2016年2月26日)
git config
:尝试修改不存在的repo配置时报告在{h}之外调用
git config section.key value
是一个飞行员错误 任何Git工作树。
消息
error: could not lock config file .git/config: No such file or directory
但是,在这种情况下,并不是很有帮助。让我们打印一个有用的 而不是消息。
至少现在,你知道什么时候git config
在外面一个回购。