如何根据内容git忽略文件夹

时间:2017-11-17 15:19:41

标签: git gitignore

是否可以根据有关其内容的某些条件忽略完整文件夹。例如,我想忽略包含至少一个html文件的所有文件夹中的所有内容。如何才能做到这一点? (如果有的话)

2 个答案:

答案 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写入该文件夹。