我也遇到这个问题,自己多次尝试找到了解决方案。
先把我的解答发出来:
#忽略所有文件和目录(当前目录不能忽略) * #增加指定目录和下面所有目录 !/dir1/ !/dir1/**/ !/dir2/ !/dir2/**/ #增加指定扩展名文件和Makefile文件 !*.cpp !*.c !*.h !Makefile #忽略特殊文件,一般是当前目录下的文件(当前目录不能忽略) /source.cpp /source.h
.gitignore文件编写思路
首先把所有文件和目录忽略,毕竟自己要进行管理的文件种类有限,这样比较好添加。
然后把自己要管理的文件夹加入进来,一定要加入文件夹下所有文件夹,而不是所有文件和目录,否则会破坏文件忽略规则。
应该这样写:!/dir1/**/ 不应该这样:!/dir1/*
增加的目录的每一级父目录一直到根目录都要加入进来。
最后增加自己需要管理的文件类型,一般通过扩展名,没有扩展名的只能通过全名或者模式匹配的方式增加。