忽略Git中子目录中的特定文件以外的目录

时间:2013-08-31 18:49:50

标签: git gitignore subdirectory

所以,我尝试了几种方法,但只有这种方法有效:

/*
!/dev/
/dev/*
!/dev/host/
/dev/host/*
!/dev/host/mail/
/dev/host/mail/*
!/dev/host/mail/htdocs/
/dev/host/mail/htdocs/*
!/dev/host/mail/htdocs/install/

我想要的是忽略所有文件,除了/ dev / host / mail / htdocs / install /。 所以除了上面提到的子文件夹中的文件外,其他所有文件都应该被完全忽略。

我试过这个,但它不起作用:

/*
!/dev/host/mail/htdocs/install/

任何想法如何缩小上面的混乱?我真的需要和上面一样多的线路;每个目录级别有两行?

我错过了什么吗?非常感谢!

1 个答案:

答案 0 :(得分:1)

在忽略其他所有内容(*)后允许所有内容都处于安装状态

*
!/dev
!/dev/host
!/dev/host/mail
!/dev/host/mail/htdocs
!/dev/host/mail/htdocs/install
!/dev/host/mail/htdocs/install/*

但是这也允许在树的更高级别上的杂散文件。这意味着从您的问题中添加额外的忽略规则。

简短的回答是你所需要的。这是一个奇怪的存储库结构,因此git不会为它进行优化。