我试图取消查看Git存储库中文件名以'form '开头的所有文件。例如:'form1. 'cfm, form2。cfm,对此。它们在我的存储库中位于几个不同级别的目录中。下面的命令可以用于取消监视整个目录,但在我现在所做的事情中不起作用。
git rm——cached -r *form.cfm
当我执行该命令时,它只是删除/取消监视第一个表单*。在整个文件系统中,并不是所有的匹配项。
关于如何忽略以字符串开头的文件和整个存储库中的文件,有什么建议吗?谢谢你!
您可以尝试这样做:
git rm --cached `find . -iname "*form*.cfm"`
find
将返回您的repo中的所有form*.cfm
,然后只需发出git rm --cached
以从git索引中删除find
的结果。
我测试了多达4层的嵌套文件夹:
$ tree .
.
├── form1.cfm
└── subfolder1
├── form2.cfm
└── subfolder2
├── form3.cfm
└── subfloder3
└── form4.cfm
我刚刚在存储库的根目录下创建了两个名为form1.cfm
和form2.cfm
的文件,并将它们提交到存储库。然后我输入:
git rm --cached -r form*.cfm
和输出说它rm了两个文件。
然而,我刚刚尝试了第二次尝试,这次也在子目录中创建了form3.cfm
,它只删除了form1.cfm
和form2.cfm
。要删除这个文件,我必须运行:
git rm --cached -r */form*.cfm