尝试设置全局配置时出现此错误:
$ git config --global user.name "Your Name Here"
error: could not lock config file /pathto/file/.gitconfig: No such file or directory
并且文件 .gitconfig 已经存在,有人有什么想法吗?
答案1
看看这些建议是否对你有帮助:
检查是否有名为 的文件
~/.gitconfig.lock
。如果是,则删除它。该文件
~/.gitconfig
属于您(用于ls -la ~/.gitconfig
检查)。如果不是,您可以使用以下方法更改所有权:sudo chown <your_username>:<your_username> ~/.gitconfig
如果这些都不能解决问题,您可以随时使用您最喜欢的文本编辑器编辑 ~/.gitconfig。它只是一个类似 INI 的文件。例如:
$ cat ~/.gitconfig
[user]
name = my_username
email = [email protected]
[core]
editor = editor
pager = most
[color]
ui = auto
[merge]
conflictstyle = diff3
我假设正确的位置是~/.gitconfig
。如果不是,请用正确的路径替换它。
希望能帮助到你。
答案2
就我的情况而言,我的 git repo 中有一个文件.git/config.lock
。我删除了该文件,问题就解决了。
答案3
您需要拥有 .gitconfig 所在目录:
chown -R <user>.<user> /pathto/file/
这对我有用。
答案4
我的问题是我从本地文件系统将 .gitconfig 文件挂载到容器中。看来 git 存储 gitconfig 的方式是通过移动文件。它无法提交,因为它无法将临时文件移动(不仅是写入,还包括 mv)到 ~/.gitconfig 中。我的解决方案是挂载目录(主目录)而不仅仅是 .gitconfig 文件。