取消监视所有以文件名/标题中特定文本开头的文件



我试图取消查看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.cfmform2.cfm的文件,并将它们提交到存储库。然后我输入:

git rm --cached -r form*.cfm

和输出说它rm了两个文件。

然而,我刚刚尝试了第二次尝试,这次也在子目录中创建了form3.cfm,它只删除了form1.cfmform2.cfm。要删除这个文件,我必须运行:

git rm --cached -r */form*.cfm

最新更新