Git 是否存在运行rm won';是否删除列表中的所有文件?

Git 是否存在运行rm won';是否删除列表中的所有文件?,git,Git,我在$file中尝试了一个相当长的路径名列表(其中44个)。在运行结束时,其中一些不会被删除。如果我带着剩菜再次跑步,它们会被删除 为什么会这样?您可以尝试将该列表保存到文件中,然后执行以下操作: git filter-branch --force --prune-empty --index-filter \ "git rm --cached -r --force --ignore-unmatch -- $file" --tag-name-filter cat -- --all

我在$file中尝试了一个相当长的路径名列表(其中44个)。在运行结束时,其中一些不会被删除。如果我带着剩菜再次跑步,它们会被删除


为什么会这样?

您可以尝试将该列表保存到文件中,然后执行以下操作:

 git filter-branch --force --prune-empty --index-filter \
   "git rm --cached -r --force --ignore-unmatch -- $file" 
    --tag-name-filter cat -- --all

当然,这似乎应该奏效。我想,
$file
的扩展中没有奇怪的shell解释字符吧?(即使在第二次运行时,他们似乎不太可能更改扩展。)我发现一篇博客文章声称,除非将其分为四个项目,否则这通常会失败。
xargs -a /tmp/files git rm --cached -r --force --ignore-unmatch --