取消监视文件 name/title 中以特定文本开头的所有文件
Unwatch all files that start with certain text in file name/title
我正在尝试取消监视我的 Git 存储库中文件名以 'form.' 开头的所有文件 例如:'form1.cfm, form2.cfm, form3.cfm,' 它们在我的存储库中以几个不同的级别目录。以下命令可用于取消监视整个目录,但它不适用于我现在正在做的事情。
git rm --cached -r *form.cfm
当我执行该命令时,它只是 removes/unwatches 它遇到的第一个格式 *.cfm -- 而不是整个文件系统中的所有匹配项。
关于如何忽略以字符串开头且位于整个存储库中的文件的任何建议?谢谢!
您可以尝试类似的方法:
git rm --cached `find . -iname "*form*.cfm"`
find
将 return 存储库中的所有 form*.cfm
,然后只需发出 git rm --cached
即可从 [= 中删除 find
的结果22=]索引。
我用最多 4 层嵌套文件夹对其进行了测试:
$ tree .
.
├── form1.cfm
└── subfolder1
├── form2.cfm
└── subfolder2
├── form3.cfm
└── subfloder3
└── form4.cfm
我刚刚在存储库的根目录中创建了两个文件,名为 form1.cfm
和 form2.cfm
,并将它们提交到存储库。然后我运行:
git rm --cached -r form*.cfm
并且输出显示它已 rm'd 两个文件。
然而,我只是尝试了第二次尝试,这次也在子目录中创建了一个form3.cfm
,它只删除了form1.cfm
和form2.cfm
。要删除此文件,我还必须 运行:
git rm --cached -r */form*.cfm
我正在尝试取消监视我的 Git 存储库中文件名以 'form.' 开头的所有文件 例如:'form1.cfm, form2.cfm, form3.cfm,' 它们在我的存储库中以几个不同的级别目录。以下命令可用于取消监视整个目录,但它不适用于我现在正在做的事情。
git rm --cached -r *form.cfm
当我执行该命令时,它只是 removes/unwatches 它遇到的第一个格式 *.cfm -- 而不是整个文件系统中的所有匹配项。
关于如何忽略以字符串开头且位于整个存储库中的文件的任何建议?谢谢!
您可以尝试类似的方法:
git rm --cached `find . -iname "*form*.cfm"`
find
将 return 存储库中的所有 form*.cfm
,然后只需发出 git rm --cached
即可从 [= 中删除 find
的结果22=]索引。
我用最多 4 层嵌套文件夹对其进行了测试:
$ tree .
.
├── form1.cfm
└── subfolder1
├── form2.cfm
└── subfolder2
├── form3.cfm
└── subfloder3
└── form4.cfm
我刚刚在存储库的根目录中创建了两个文件,名为 form1.cfm
和 form2.cfm
,并将它们提交到存储库。然后我运行:
git rm --cached -r form*.cfm
并且输出显示它已 rm'd 两个文件。
然而,我只是尝试了第二次尝试,这次也在子目录中创建了一个form3.cfm
,它只删除了form1.cfm
和form2.cfm
。要删除此文件,我还必须 运行:
git rm --cached -r */form*.cfm