.gitignore忽略排除不生效问题
今天编写.gitignore
文件的时候遇到一个问题
一开始是这么写的:
# wrong
**/data/
**/temp/
**/output/
!**/*模板*
!**/*template*
预期是排除所有data、temp、output文件夹中的文件,除了模板文件。但是发现排除模板文件不生效。
最后发现是要这么写:
# correct
**/data/*
**/temp/*
**/output/*
!**/*模板*
!**/*template*
估摸着**/data/
排除的是data文件夹,直接完全忽视了这个文件夹,不再匹配内部的文件;
而**/data/*
则是排除data文件夹中的所有文件,后续我们才有排除忽视的余地。
Stackoverflow中也搜到了类似问题: