使用 GitKraken 克隆存储库时,“无法打开 '/etc/gitconfig' - 权限被拒绝”

Huỳ*_*yễn 5 git github gitkraken

我尝试在 Ubuntu 上使用 GitKraken 克隆一个存储库,但它抛出了一个错误“无法打开 '/etc/gitconfig' - 权限被拒绝”

所以我认为 GitKraken 软件需要访问 gitconfig 文件才能正常工作,并且它一开始就尝试访问该文件/etc/gitconfig(该文件已锁定 -我什至不知道“锁定”是什么意思),所以它抛出了错误。经过谷歌搜索后,我发现一个听起来合理的解决方案是键入内容以chmod 777 /etc/gitconfig授予每个人(包括 GitKraken)读/写该配置文件的权限。但这样做之后,即使重新启动后,它仍然无法工作(权限被拒绝)。第一次尝试失败了。也许这与许可无关

然后我继续谷歌搜索,然后我知道git有3种类型的配置文件,分别是本地(位于.git/gitconfig)、全局(位于~/.gitconfig)和系统(位于/etc/gitconfig)。然后我想“啊哈,我可以删除它/etc/gitconfig,然后 Kraken 就会使用~/.gitconfig。但删除后/etc/gitconfig,它起作用了(我可以按预期克隆我的存储库)。但我认为这只是一个解决方法,我不知道这样做的后果是什么(删除系统gitconfig)。正如我在文档中阅读的那样,它应该首先按顺序读取本地文件,然后是全局文件,然后是系统文件,因此只有在找不到文件时才应该读取/etc/gitconfig~/.gitconfig,对吗?为什么这里不是这样?或者GitKraken故意设置从第一个读取配置文件/etc/gitconfig而不是上面的顺序?

最后,我删除了系统 gitconfig /etc/gitconfig(将其重命名为/etc/.gitconfigbtw)。我的问题是我现在应该做什么,我的问题解决了吗?如果现在我还不完全明白发生了什么,请有人向我解释一下吗?

提前致谢。

错误捕获: 捕获

Von*_*onC 4

您可以执行 agit config --show-origin -l查看涉及的所有配置文件。

/etc/ gitconfig是系统范围的配置文件,始终首先读取。
锁定的文件通常意味着另一个进程保留了它的句柄(通常在 Windows 上,但也可能在 Linux 上)

您可以稍后重新创建它,即使内容很少,只是为了看看问题是否仍然存在:

[color]
        diff = auto
        status = auto
        branch = auto
        interactive = true
Run Code Online (Sandbox Code Playgroud)

显然,从评论来看,问题在于 GitKraken 的安装方式:

第二种方法生成一个 GitKraken,它不会被锁定的/etc/gitconfig.