我有一个目录,有许多子目录,深度可变,始终在增长。我只想保留一个特定的文件。我该如何告诉.gitignore
忽略来自这些目录和子目录的所有文件,除了那一个?Gitignore排除整个目录树中文件的所有外观
准确地说,我拥有的是一个报告目录,我每天存储很多报告。每个新的报告都会创建一个新的子目录,其中包含变量名称,其中包含文件和子目录。我只是想保持文件的 '富'
- REPORTDIRECTORY
- MONTH_A
- DAY_HOUR_OF_REPORT
- file_1
- file_2
- 富
- file_N
- ANOTH ER_DIRECTORY_I_COMPLETELY_IGNORE
- DAY_HOUR_OF_REPORT
- file_1
- file_2
- 富
- file_N
- ANOTHER_DIRECTORY_I_COMPLETELY_IGNORE
- DAY_HOUR_OF_REPORT
- MONTH_乙
- DAY_HOUR_OF_REPORT
- MONTH_A
等等
我已经尝试了很多东西。最后的地方
/REPORTDIRECTORY/**/*
!foo
和
/REPORTDIRECTORY/**/*
!/REPORTDIRECTORY/**/foo
没有成功。
我开始相信我说具有双重通配符麻烦,因为如果我把gitignore:
/REPORTDIRECTORY/**/ANOTHER_DIRECTORY_I_COMPLETELY_IGNORE/
或
REPORTDIRECTORY/**/ANOTHER_DIRECTORY_I_COMPLETELY_IGNORE
这个 'ANOTHER_DIRECTORY_I_COMPLETELY_IGNORE' 也是不可忽视:(
我对Windows使用Git版本1.8.1.2-preview20130201
我使用SmartGit
作为GUI(版本4.5),但我认为GUI应用ld不重要,因为.gitignore
直接由Git解析。Git manual page表明双星号通配符应该工作。
我做错了什么或者是否是.gitignore
解析器?