移除git目录时出现“权限被拒绝”错误。

17

我正在尝试在使用win7和git-bash的过程中删除.git目录。这是我的尝试:

$ rm -rf .git
rm: cannot remove directory `.git/objects/5e': Permission denied
rm: cannot remove directory `.git/objects': Directory not empty
rm: cannot remove directory `.git': Directory not empty    

$ rmdir .git
rmdir: `.git': Directory not empty

我做错了什么?

7个回答

13

Windows 7 - Git-bash

$ sudo
sh.exe": sudo: command not found

在 Windows 中使用 git-bash 命令行时没有 sudo 命令。

很可能你使用了一些需要提升权限的 git 命令。在 Windows 7 中,普通用户和拥有提升权限的用户具有不同的权限。尝试下列方法之一:

  1. 在 Windows 资源管理器中删除该目录。
  2. 以管理员身份启动 git bash 并运行 rm 命令。
  3. 尝试更改该目录的权限,以使你的普通用户对其拥有完全控制权。

我最终使用了选项1:控制面板>文件夹选项>查看选项卡>勾选显示隐藏的文件夹和驱动器。 - user1592380

12

在关闭正在使用的IDE(例如:Aptana Studio)后尝试删除文件夹。当你在IDE中打开了这个项目时,它会阻止你删除git头。


在我的情况下,我使用的是一个打开了目录的 Git 客户端(GitKraken),因此直到我关闭它之前,它才允许我删除该目录。 - Syknapse
谢谢!这是我在2022年遇到问题的解决方案。 - Eric Hepperle - CodeSlayer2010

7

在PowerShell中

rmdir <foldername> -force

选择 [A] 全部应用


4
我遇到了类似的问题。原来是Git会将某些文件(对象)设置为只读状态。因此,您需要递归地取消只读标志,然后再删除该文件夹:
chmod -R a+w .git
rm -rf .git

如果你有UnxUtils,那么这是一个在Windows自动化环境中的绝佳解决方案。 - Zoltán Várnagy

2

对于Windows系统->

  • 进入开始菜单,搜索Git Bash并选择“以管理员身份运行”
  • 使用cmd命令,进入包含.git文件夹的目录
  • 使用以下命令删除.git文件夹 -> rm -rf .git

0

我在macOS终端中遇到了同样的问题。

我没有找出是什么原因导致的,但当我关闭终端并打开一个新选项卡时,一切都按预期工作。


-2

很简单,试试这个:

  • sudo su root
    rm -fr [repository name]
    或者你可以用 — sudo rm -fr [repository name]
    
  • 如果你不想删除所有文件,请使用"-fird"代替"-fr",这样你就可以选择要删除的文件。

使用此方法可以解决权限错误!

重要提示:

像“权限被拒绝”这样的错误是因为只有超级用户才能授权你的请求,即在这种情况下,只有具有 root 权限的人才能这样做,然后我们提升用户权限。


在这个过程中,需要输入密码!

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