git rm -f *.json.gz
fatal: pathspec '01eece012a88a1a7077de645f44bbb71baf67cae.json.gz' did not match any files
git rm *.gz
fatal: pathspec '01eece012a88a1a7077de645f44bbb71baf67cae.json.gz' did not match any files
git rm *.*.gz
fatal: pathspec '01eece012a88a1a7077de645f44bbb71baf67cae.json.gz' did not match any files
使用
git rm
进行批量删除其实和rm
命令是一样的,都支持通配符。只是楼主没有正确理解git rm
的适用场合。git rm
适用于那些你要删除的文件已加入暂存区,而楼主的这些文件并未加入暂存区就使用git rm
,而git rm
会在暂存区寻找那些文件,而这些文件并未在暂存区,此时当然会报错“没有匹配的文件”。所以对于没有加入暂存区的文件使用常规的删除方法就可以,不必使用
git rm
;而对于已经加入暂存区的文件使用git rm
是比较合理的删除方式。我觉得楼主可能没有抓住错误的根本原因,而误以为是
git rm
不能像rm
一样支持通配符。