尝试删除我的 .git 文件夹和 'rm -r .git --force' 无效
Trying to remove my .git folder and 'rm -r .git --force' is not working
rm -r .git
rm -r .git --force
我得到以下内容,并且在我进入 'yes' 并移动到下一个之后似乎有一个永无止境的供应。
override r--r--r-- redacted/staff for .git/objects/95/90087aa4b351e278e6e53ff6240045ab2db6d1?
分析解释:
当您尝试使用 rm 命令删除一个或多个已删除写入权限的文件时,在某些版本的 rm 命令中会看到消息 override r--r--r-- ...?
。
重现:
▶ mkdir -p foo/{bar,baz} ; touch foo/bar/qux
▶ chmod -R -w foo
▶ find foo -ls
4305147410 0 dr-xr-xr-x 4 alexharvey wheel 128 24 Mar 18:19 foo
4305147412 0 dr-xr-xr-x 2 alexharvey wheel 64 24 Mar 18:19 foo/baz
4305147411 0 dr-xr-xr-x 3 alexharvey wheel 96 24 Mar 18:19 foo/bar
4305147413 0 -r--r--r-- 1 alexharvey wheel 0 24 Mar 18:19 foo/bar/qux
现在,如果您尝试删除这些文件,系统会询问您是否真的要覆盖此文件模式:
▶ rm -r foo
override r-xr-xr-x alexharvey/wheel for foo/baz?
另请注意,如果您使用的是 Mac OS X 或其他 BSD 变体,似乎是这种情况,那么您通过添加错误地指定了 --force
参数到命令行的末尾,它将被解释为要删除的附加文件的名称。
但即使我更正了这一点,-f 仍然无法覆盖 r--r--r--。相反,您会看到:
▶ rm -rf foo
rm: foo/baz: Permission denied
rm: foo/bar/qux: Permission denied
rm: foo/bar: Permission denied
rm: foo: Directory not empty
修正:
要解决此问题,首先恢复文件夹内的写入权限:
▶ chmod -R +w foo
那么 rm -r 应该可以正常工作:
▶ rm -r foo
▶ ls foo
ls: foo: No such file or directory
另请参阅:
如果要删除git中的目录,只需登录sudo
:
$ sudo rm -r file-name
rm -rf .folder
不用花费额外的时间设置参数就可以解决问题
rm -r .git
rm -r .git --force
我得到以下内容,并且在我进入 'yes' 并移动到下一个之后似乎有一个永无止境的供应。
override r--r--r-- redacted/staff for .git/objects/95/90087aa4b351e278e6e53ff6240045ab2db6d1?
分析解释:
当您尝试使用 rm 命令删除一个或多个已删除写入权限的文件时,在某些版本的 rm 命令中会看到消息 override r--r--r-- ...?
。
重现:
▶ mkdir -p foo/{bar,baz} ; touch foo/bar/qux
▶ chmod -R -w foo
▶ find foo -ls
4305147410 0 dr-xr-xr-x 4 alexharvey wheel 128 24 Mar 18:19 foo
4305147412 0 dr-xr-xr-x 2 alexharvey wheel 64 24 Mar 18:19 foo/baz
4305147411 0 dr-xr-xr-x 3 alexharvey wheel 96 24 Mar 18:19 foo/bar
4305147413 0 -r--r--r-- 1 alexharvey wheel 0 24 Mar 18:19 foo/bar/qux
现在,如果您尝试删除这些文件,系统会询问您是否真的要覆盖此文件模式:
▶ rm -r foo
override r-xr-xr-x alexharvey/wheel for foo/baz?
另请注意,如果您使用的是 Mac OS X 或其他 BSD 变体,似乎是这种情况,那么您通过添加错误地指定了 --force
参数到命令行的末尾,它将被解释为要删除的附加文件的名称。
但即使我更正了这一点,-f 仍然无法覆盖 r--r--r--。相反,您会看到:
▶ rm -rf foo
rm: foo/baz: Permission denied
rm: foo/bar/qux: Permission denied
rm: foo/bar: Permission denied
rm: foo: Directory not empty
修正:
要解决此问题,首先恢复文件夹内的写入权限:
▶ chmod -R +w foo
那么 rm -r 应该可以正常工作:
▶ rm -r foo
▶ ls foo
ls: foo: No such file or directory
另请参阅:
如果要删除git中的目录,只需登录sudo
:
$ sudo rm -r file-name
rm -rf .folder
不用花费额外的时间设置参数就可以解决问题