无法设置git错误:无法锁定配置文件


13

尝试设置全局配置时出现此错误:

$ git config --global user.name "Your Name Here"
error: could not lock config file /pathto/file/.gitconfig: No such file or directory

并且文件.gitconfig已经存在,任何人有任何想法吗?


您对该文件具有读/写权限吗?(使用检查ls -la /path/to/file/.gitconfig
Salem

-rw-rw-r-- 1 .gitconfig
codepros

您是否以正确的用户身份运行?哪个用户拥有.gitconfig
Flimm

Answers:


14

看看这些技巧是否对您有帮助:

  1. 验证是否有一个名为的文件~/.gitconfig.lock。如果是这种情况,请删除它。

  2. 该文件~/.gitconfig属于您(用于ls -la ~/.gitconfig检查)。如果没有,您可以使用sudo chown <your_username>:<your_username> ~/.gitconfig

如果以上方法均不能解决问题,则可以始终使用您喜欢的文本编辑器编辑〜/ .gitconfig。这只是一个类似INI的文件。一个例子:

$ cat ~/.gitconfig
[user]
    name = my_username
    email = me@email.com
[core]
    editor = editor
    pager = most
[color]
    ui = auto
[merge]
    conflictstyle = diff3

我假设正确的位置是~/.gitconfig。如果不是这种情况,请使用正确的路径替换它。

希望能帮助到你。


主目录中没有名为.gitconfig.lock的文件,并且.gitconfig已经存在〜/
codepros 2013年

.gitconfig在哪里?在〜/ .gitconfig中?如果是这种情况,请尝试手动编辑。
塞勒姆

@Salem,我在〜/中有.gitconfig,但仍然存在错误。有什么建议吗?
uday 2014年

3

就我而言,.git/config.lock我的git repo中有一个文件文件。我删除了该文件,它解决了问题。


2

您需要拥有.gitconfig所在的目录:

chown -R <user>.<user> /pathto/file/

那对我有用。


1

我的问题和你的相似。我发现“ git”用户无法访问其主目录。

我做到了chown -R git:git /mnt/sdb1/git,这解决了权限错误。


0

就我而言,我的~/.gitconfig文件指向(符号链接)到我的旧点文件,该文件已移至其他位置,这意味着gitconfig文件指向了不存在的文件。

要知道我gitconfig是符号链接到,我所做的ls -la ~/.gitconfig,这表明它是指向我被移到别处的文件。

我必须将符号链接更新为新的dotfiles(dotfiles只是我所有.smth文件的文件夹名称)。

为了更新符号链接,我做了 ln -sf ~/your-new/path-to/gitconfig.symlink ~/.gitconfig

一切都很好


0

就我而言,错误是:

error: could not lock config file .git/config: No such file or directory

我通过创建.git目录解决了它:

mkdir -p ~/.git
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.