尝试在Ubuntu虚拟机中删除Git仓库

14

我想从我的本地机器中彻底删除整个git仓库,但是git禁止删除一些文件。

我尝试了:

  1. rm -r folder
  2. 它问我是否要删除一些受写保护的文件?我回答了y
  3. 出现了以下消息:

  4. rm: cannot remove ‘.git/objects/08/fa4fcd8413b84a1605e1c4866cb2493daf4c4e’: Operation not permitted
    rm: cannot remove ‘.git/objects/96/de4fe9aa42239290cae341427649f2afbdab16’: Operation not permitted
    rm: cannot remove ‘.git/objects/fd/ed37600b5fe66e1a0d0e4355b387e56ca2638e’: Operation not permitted
    rm: cannot remove ‘.git/objects/pack/pack-cb277ab3b4a3510209a9784a76760e6281da5218.idx’: Operation not permitted
    rm: cannot remove ‘.git/objects/pack/pack-cb277ab3b4a3510209a9784a76760e6281da5218.pack’: Operation not permitted
    

ls 命令显示所有本地文件已被删除。然后我尝试从那个文件夹运行 sudo rm -r .git,但结果相同。

请帮我删除这个文件夹。


使用 ls -la 命令来检查确切的权限。 - zerkms
3
FYI:与美国一些流行文化相反,“dat”不是一个单词。 - Jonathon Reinhart
1
这些文件是否在网络共享上,或者是一些不寻常的非磁盘挂载?否则,我不明白为什么 sudo rm -r 会失败。 - Thanatos
它被安装在Ubuntu上。我已经创建了一个文件夹,其中包含该存储库的文件夹,在Windows(主机)和Ubuntu(客户端)之间共享。我正在使用VirtualBox进行此类操作。 - Danny Ocean
4个回答

37
  1. 关闭所有可能正在运行的git客户端。

  2. 首先设置删除权限:

chmod -R 777 folder
  • 试图强制删除:

    rm -rf folder
    

  • 2
    我遇到了同样的问题,而你的答案解决了它!谢谢! - Valter Silva
    3
    关闭可能正在运行的Git客户端。太好了!我打开了Atom并将目录用作项目 - 也关闭任何IDE。 - Emissary
    谢谢,已成功在 WSL 中删除目录。 - sg28

    3
    以下命令可能会有所帮助:
    chmod -R u+w folder/
    

    同时确保您拥有您要删除的所有文件:

    chown -R $USER folder/
    

    在Linux上,它也可能是一个文件属性(通过lsattr检查):

    chattr -R -AacdDijsStu folder/
    

    3

    我想通了,问题在于我的主机(Windows 7 x64)只允许这个文件夹进行读取。我已禁用该选项,并将其从主机中删除。抱歉没有说清楚它是被挂载的,感谢所有回复:)


    2
    在我的情况下,由于某种原因,.git文件夹中的所有内容都被设置为用户不可变标志(uchg)。以下是解决方法: "最初的回答"。
    chflags -R nouchg folder/
    

    我可以使用rm -rf folder/命令来删除文件夹。这是最初的回答。

    网页内容由stack overflow 提供, 点击上面的
    可以查看英文原文,
    原文链接