是否可以根据有关其内容的某些条件忽略完整文件夹。例如,我想忽略包含至少一个html文件的所有文件夹中的所有内容。如何才能做到这一点? (如果有的话)
答案 0 :(得分:2)
Git中没有这样的功能,无论如何它都没有多大意义。
如果目录中有一些文件,您可以轻松检查它们,以确定其中是否有.html
个文件。如果有许多目录(带子目录),一个简单的命令行可以找到.html
文件并生成所需的规则以放入.gitignore
。
如果稍后在以前未被忽略的目录中创建.html
文件,则将目录路径添加到.gitignore
是不够的,您还必须从存储库中删除现有的跟踪文件。
一个简单的命令,用于获取所有.html
个文件并生成要放入.gitignore
的规则:
find . -name '*.html' -exec dirname \{\} \; | sort -u
它从当前目录及其子目录中找到所有.html
个文件,并为每个文件执行dirname
。然后将find
的输出通过管道传输到sort
,对其进行排序并删除重复项(-u
)。
(我没有用Git测试它的输出,它可能需要小调整,但这是个主意。)
答案 1 :(得分:0)
我不认为git有直接的方法。但是,您可以运行一个脚本(python等)来检查您,然后将gitignore写入该文件夹。