为什么我不能使用 git rm 删除除特定文件类型之外的所有文件?



我想删除当前目录中的所有文件及其不属于文件类型*.scss的子目录。

但是,我一直遇到错误:

$ git rm -r !(*.scss)
#=> zsh: number expected

这样做的正确方法是什么?为什么命令失败?

!是外壳的特殊字符,它可以操纵命令历史记录,因此您需要使用BackSlash或Quotes进行筛选。您也需要结肠。进行ls-files的实验,类似于

git ls-files * ':!*.scss'

,然后用

删除文件
git rm * ':!*.scss'

还请警告git rm -r递归删除目录,并有一个很好的机会删除其中的*.scss文件。

最新更新