Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
&引用;无法打开'/etc/gitconfig';-“拒绝许可”;当用GitKraken克隆回购协议时_Git_Github_Gitkraken - Fatal编程技术网

&引用;无法打开'/etc/gitconfig';-“拒绝许可”;当用GitKraken克隆回购协议时

&引用;无法打开'/etc/gitconfig';-“拒绝许可”;当用GitKraken克隆回购协议时,git,github,gitkraken,Git,Github,Gitkraken,我试图在Ubuntu上使用GitKraken克隆一个repo,但它给我带来了一个错误“无法打开'/etc/gitconfig'-权限被拒绝” 所以我认为GitKraken软件需要访问一个gitconfig文件才能正常工作,而它不知何故首先试图访问位于/etc/gitconfig的文件(该文件已锁定-我甚至不知道“锁定”是什么意思),所以它抛出了错误。在谷歌搜索之后,我发现一个听起来合理的解决方案是键入chmod 777/etc/gitconfig给每个人(包括GitKraken)读/写配置文件的

我试图在Ubuntu上使用GitKraken克隆一个repo,但它给我带来了一个错误“无法打开'/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/.gitconfig
btw)。我的问题是我现在应该怎么做,我解决问题了吗?如果现在我还不完全明白发生了什么,请有人给我解释一下好吗

提前谢谢

错误捕获:

您可以执行一个git config--show origin-l来查看所有涉及的配置文件

如果是,请始终先阅读。
锁定的文件通常意味着另一个进程在其上保留了句柄(通常在Windows上,但您可能在Linux上)

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

[color]
        diff = auto
        status = auto
        branch = auto
        interactive = true
显然,从评论来看,问题在于GitKraken是如何安装的:

  • 来自Ubuntu软件
  • 而不是

第二种方法产生一个GitKraken,它不会被锁定的
/etc/gitconfig
触发。我在20.04遇到了同样的问题。
不幸的是,从gitkraken网站下载的内容给了我一个依赖项错误,因此我不得不使用snap。
尝试删除并重新创建配置,但无效。在另一个答案的评论中尝试了一切,但未能解决问题


只需删除/etc/gitconfig就可以帮我解决问题。

谢谢!!在阅读了您的评论之后,我尝试用上面建议的内容重新创建
/etc/gitconfig
文件。但是在键入
git config--show origin-l
时,我只看到了
~/.gitconfig
中的配置(在
/etc/gitconfig
中没有)。之后,我尝试用GitKraken克隆一个项目,它弹出了相同的错误
/etc/gitconfig is locked
。我的一个朋友也使用过GitKraken,它在他的计算机上运行得很好,他可以克隆项目,即使有
/etc/gitconfig
,所以我想它的存在并不重要,但不知怎的,showbody(可能是我)锁定了我的“系统gitconfig”文件?@HuỳnhLợ印古语ễ你在Windows上吗?你安装了什么版本的Git?@HuỳnhLợ印古语ễn GitKraken本身的安装方式(与您朋友的工作站相比)有什么不同吗?在命令行中完成克隆会成功吗?(
git clone…
)@HuỳnhLợ印古语ễn我怀疑安装方法是罪魁祸首,但我不知道确切原因。我已经相应地编辑了答案。@HuỳnhLợ印古语ễn非常欢迎你。很高兴你现在有一个工作的吉特克拉肯!