如果错误拒绝访问,如何恢复 git 中文件和目录的权限?

问题描述 投票:0回答:1

我是编码新手,我试图弄清楚如何在我的终端中提交。我执行了命令 git add -A ,然后 git 开始请求对我所有文件的许可,我拒绝了,他们没有考虑太多(我吓坏了,我不知道这是否是我仍在学习的可信来源)。但现在我却陷入了一个更大的问题。当我现在尝试创建文件时,由于无法通过 git 访问我的文件,因此无法创建文件。

会弹出一条警告:

error: open("Library/Application Support/FileProvider/8B7B18C3-4F13-4F7D-A0CD-EF8531215A66/wharf/tombstone/a"): Permission denied
error: unable to index file 'Library/Application Support/FileProvider/8B7B18C3-4F13-4F7D-A0CD-EF8531215A66/wharf/tombstone/a'
fatal: adding files failed

如果有人能给我一个关于如何解决这个问题的分步指南,我真的很茫然,我将非常感激!谢谢!

更不用说我已经尝试了几乎所有方法来解决这个问题,但没有任何效果!!!

  • 我关闭了应用程序并重新启动它。
  • 我已对每个文件运行 chmod +x 以授予访问权限。
  • 我已访问系统设置/隐私和安全并允许访问。
  • 我已经运行了 chmod chmod 777。
git permissions
1个回答
0
投票

看起来您已经在主目录中创建了一个存储库,这几乎不是一个好主意,因为存储库控制着其下的所有文件,通常您不希望所有主目录都在一个存储库中。

在 macOS 上,某些文件在某些方面受到限制,超出了标准 Unix 权限和 Git 使用的标准 Unix 接口,这就是您看到此错误的原因,因为您正在尝试添加这些文件。

将文件标记为 0777 也是一个坏主意,因为这允许系统上的每个用户写入您的文件。即使这只是您的笔记本电脑,上面运行的服务也专门以低权限运行,因此如果存在安全问题,它们将无法访问大多数文件,然后您就使该服务有可能篡改与这些文件。

您可能想要做的是通过执行

.git
删除主目录中的
mv ~/.git ~/.git.bak
目录。这会将其移到一边,这样您就不会丢失任何数据,然后,当您确定不需要它时,可以删除
.git.bak

然后,您可以更改为您正在处理的项目的特定目录并运行

git init
。然后,您可以根据需要运行
git add
git commit
,它不会尝试在该目录之外添加文件。这意味着您的所有项目文件都需要位于该目录或其子目录中,但这通常是您想要的。

© www.soinside.com 2019 - 2024. All rights reserved.