我尝试在 Ubuntu 上使用 GitKraken 克隆存储库,但它引发了错误“无法打开 '/etc/gitconfig' - 权限被拒绝”.
所以我认为 GitKraken 软件需要访问 gitconfig 文件让事情顺利进行,并且以某种方式尝试访问该地址/etc/gitconfig
first(已锁定 -我什至不知道“锁”是什么意思),所以它抛出了错误。谷歌搜索后,我发现一个听起来合理的解决方案是输入chmod 777 /etc/gitconfig
给大家(包括 GitKraken)许可读取/写入该配置文件。但这样做之后,即使重新启动后,它仍然无法工作(权限被拒绝)。第一次尝试失败. Maybe 这与许可无关?
然后我继续google,然后我知道git的配置文件有3种类型,分别是local(位于.git/gitconfig
), global (in ~/.gitconfig
) and system (in /etc/gitconfig
)。然后我想“啊哈,我可以删除/etc/gitconfig
,那么 Kraken 将使用~/.gitconfig
"。然而删除之后/etc/gitconfig
, 有用(我可以按预期克隆我的存储库)。但我认为这只是一个解决方法,我不知道这样做的后果是什么(删除系统gitconfig)。正如我在document https://git-scm.com/docs/git-config, 它应该先读本地,再读全局,最后读系统按顺序,所以应该只读/etc/gitconfig
如果找不到~/.gitconfig
, 我对吗?为什么这里不是这样?或者 GitKraken 是否故意设置从中读取配置文件/etc/gitconfig
首先而不是上面的顺序?
结论,我删除了系统gitconfig/etc/gitconfig
(通过将其重命名为/etc/.gitconfig
顺便提一句)。我的问题是我现在应该做什么,我的问题解决了吗?如果现在我还不完全明白发生了什么,请有人向我解释一下吗?
提前致谢。
Error capture:
你可以做一个git config --show-origin -l
查看涉及的所有配置文件。
The /etc/gitconfig 是系统范围的配置文件 https://git-scm.com/docs/git-config#FILES,始终先阅读。
锁定的文件通常意味着另一个进程保留了它的句柄(通常在 Windows 上,但也可能在 Linux 上)
您可以稍后重新创建它,即使内容很少,只是为了看看问题是否仍然存在:
[color]
diff = auto
status = auto
branch = auto
interactive = true
显然,从评论来看,问题在于 GitKraken 的安装方式:
- 来自 Ubuntu 软件
- 代替gitkraken.com/download https://www.gitkraken.com/download
第二种方法生成一个 GitKraken,它不会被锁定而绊倒。/etc/gitconfig
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)