【发布时间】:2020-03-18 02:39:54
【问题描述】:
我试图在 Ubuntu 上使用 GitKraken 克隆一个 repo,但它给我一个错误“无法打开 '/etc/gitconfig' - 权限被拒绝”。
所以我认为 GitKraken 软件需要访问 gitconfig 文件才能让事情正常工作,并且它以某种方式试图首先访问 /etc/gitconfig 的文件(已锁定- 我什至不知道“锁”是什么意思),所以它抛出了错误。谷歌搜索后,我发现一个听起来很合理的解决方案是输入 chmod 777 /etc/gitconfig 给每个人(包括 GitKraken)权限来读取/写入该配置文件。但是这样做之后,即使重新启动,它仍然无法工作(权限被拒绝)。 第一次尝试失败。也许这与许可无关?
然后我一直在google,然后我知道git有3种配置文件,分别是local(位于.git/gitconfig),global(位于~/.gitconfig)和系统(在/etc/gitconfig)。然后我想“啊哈,我可以删除/etc/gitconfig,然后Kraken 将使用~/.gitconfig”。然而,在删除 /etc/gitconfig 之后,它可以工作(我可以按预期克隆我的 repo)。但我认为这只是一个workaround,我不知道这样做的后果是什么(删除系统gitconfig)。正如我在document 中阅读的那样,它应该首先读取本地的,然后是全局的,然后是系统的,所以它应该只读取/etc/gitconfig,如果只是找不到一个在~/.gitconfig,对吗?为什么这里不是这样?还是 GitKraken 故意设置先从/etc/gitconfig 读取配置文件而不是上述顺序?
结论,我删除了系统 gitconfig /etc/gitconfig(将其重命名为 /etc/.gitconfig btw)。我的问题是我现在该怎么办,我的问题解决了吗?如果现在我还不完全理解发生了什么,请有人向我解释一下吗?
提前致谢。
【问题讨论】: