无法删除 .git: 目录不为空

Cannot remove .git: Directory not empty

无法删除.git

我有一个 git 存储库 Rift,我正试图将其删除。尝试 运行 rm -rf 时,出现错误:rm: cannot remove 'Rift/.git/objects/pack': Directory not empty.

当我导航到目录树的底部时,我发现了一个名为 .fuse_hidden 的隐藏文件,后跟一串数字和字母,可能是十六进制的。我可以手动删除此文件,但一旦我删除它,就会在原处创建另一个附加了不同数字和字母字符串的文件。

我尝试了 rm .git/objects/pack/* && rm -rf .gitsudo rm -rf .gitchmod -w .git/objects/pathkillall git,其中 none 都取得了成功。

您可以使用 fuser 命令。

fuser 是一个命令行实用程序,旨在根据特定进程正在访问的文件、目录或套接字来定位进程。它帮助系统用户识别使用文件或套接字的进程。

.git 目录上使用 fuser 命令,查找正在访问该目录的所有进程 ID。

fuser .git

之后可以使用-k参数杀掉进程,然后应该就可以删除目录了。

fuser -k .git

对于 linux 用户,如果您遇到此问题,请在您的终端上使用以下命令

rm -r directory_name

然后运行之后会反复提示是否删除写保护的文件,输入yes回车,很快就会删除