【问题标题】:Trying to remove my .git folder and 'rm -r .git --force' is not working试图删除我的 .git 文件夹并且 'rm -r .git --force' 不起作用
【发布时间】:2019-08-14 16:26:13
【问题描述】:
rm -r .git
rm -r .git --force

我得到以下内容,并且在我输入“是”并转到下一个之后似乎有一个永无止境的供应。

override r--r--r--  redacted/staff for .git/objects/95/90087aa4b351e278e6e53ff6240045ab2db6d1?

【问题讨论】:

  • rm 被散列(/bin/rm)
  • 不确定是不是你的问题,但你的命令有误,应该是rm -rf .git。你的命令会出错:rm: --force: No such file or directory.
  • @JohnKugelman 对大多数命令的作用没有意见,但是 rm 命令,至少是 Mac OS X 附带的 BSD 版本,正如我所说的那样,因为我刚刚测试过。
  • @seamus,也许更新问题以显示您正在输入的确切命令和确切输出。
  • @JohnKugelman “大多数程序在任何地方都接受选项” 这是一个非标准的 GNU 扩展。 POSIX 需要其他条件,并且有 POSIXLY_CORRECT 环境可以强制执行此操作。 BSD 用户空间不是 GNU,也没有这个扩展。

标签: bash rm


【解决方案1】:

分析说明:

当您尝试使用 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

另见:

  • this Unix & Linux Stack Exchange 上的相关问题。
  • BSD 源代码 rm here

【讨论】:

    【解决方案2】:

    如果你想删除git中的目录,只需登录sudo

    $ sudo rm -r file-name

    【讨论】:

      【解决方案3】:
      rm -rf .folder 
      

      无需花费额外时间设置参数就可以解决问题

      【讨论】:

        猜你喜欢
        • 2023-03-09
        • 2012-09-06
        • 2011-06-28
        • 1970-01-01
        • 1970-01-01
        • 2018-08-27
        • 1970-01-01
        • 2012-09-17
        • 2015-03-14
        相关资源
        最近更新 更多