【问题标题】:Can't remove all files with "git rm -r -f {folder_name}" (Windows 10)无法使用“git rm -r -f {folder_name}”删除所有文件(Windows 10)
【发布时间】:2019-12-10 14:10:20
【问题描述】:

我在 Windows 10 上的 git 存储库中工作,并且我有一个名为“Client”的文件夹 - 我正在尝试从本地存储库中完全删除它以及其中的所有文件。我在我想要删除它的分支中,我运行了以下命令:

git rm -r -f .\Client\

它删除了客户端中的很多文件夹和文件,但仍然存在文件夹和文件。所以我再次尝试运行它,我收到以下消息:

fatal: pathspec '.\Client\' did not match any files

什么给了??

【问题讨论】:

  • Linux 还是 windows?
  • Windows(更新问题)
  • 其余文件是否受版本控制?如果它们不是(即未被跟踪,甚至可能被忽略)git rm 不会碰它们
  • @OhleC - 太棒了!就是这样-如果您将其发布为答案,我会接受。

标签: git git-rm


【解决方案1】:

git rm 不会触及未跟踪的文件,因此在调用git rm 后,该目录可能仍保留在工作副本中,其中可能还有一些文件。

【讨论】:

  • 确实是这样! .gitignore 排除了所有剩余的文件。
【解决方案2】:

Git 只能删除它跟踪的文件,这意味着它们曾经被添加并提交到存储库。

因此,我认为 git 不会跟踪这些文件,因此无法删除它们 - 在您的情况下是您的文件夹“客户端”。因此,您应该能够简单地删除它们,使用 UI(右键单击 > 删除)或系统命令(对于 linux rmdir -r ...)无需 git。您遇到的错误对用户具有误导性,因为文件或文件夹对于 git 而不是操作系统不存在。

无论哪种方式检查您的存储库文件(在 args[2] 处选择正确的分支):

git ls-tree -r master --name-only

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-27
    • 2019-12-06
    • 1970-01-01
    • 2013-07-12
    • 2023-03-09
    • 2011-06-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多