在使用Git的过程中,我们喜欢有的文件比如日志,临时文件,编译的中间文件等不要提交到代码仓库,
这时就要设置相应的忽略规则,来忽略这些文件的提交
新建git工程之后就马上提交gitignore文件 除了统一个通用过滤文件 还要审查本地工程 添加定制化的过滤规则
**************
1.进入项目所在目录。
2.输入 touch .gitignore ,生成“.gitignore”文件。
vi .gitignore
*************************

【规则】

#过滤数据库文件、sln解决方案文件、配置文件 过滤所有某一个类型的文件
# 忽略*.o和*.a文件 *.[oa] *.mdb *.ldb *.sln *.config 忽略工程根目录和子目录的所有该类型文件 取反 该文件 除外!my.b
#过滤文件夹Debug,Release,obj
/开头防止递归 否者会过滤子目录  
/结尾指定目录类型  否者即等同文件名也等同目录名
*******************
dbg/          #忽略根目录和子目录下 dbg目录 不忽略dbg文件
dbg           #忽略根目录和子目录下 dbg文件和dbg目录
.dbg          #忽略 隐藏 根目录和子目录下 隐藏 dbg文件和dbg目录
.dbg/         #忽略 隐藏 根目录下 隐藏 dbg目录
/dbg          #忽略根目录下 dbg文件和目录, 子目录的dbg 文件和目录不在忽略范围内
*******************

fd1/* 忽略忽略根目录和子目录下 fd1下的全部内容
/fd1/* 忽略根目录下的 fd1文件夹 目录的全部内容
*******************
!dbg/ # 不忽略 根目录和子目录下 dbg目录

以斜杠/开头表示目录;
以星号*通配多个字符;
以问号?通配单个字符
以方括号[]包含单个字符的匹配列表;
以叹号!表示不忽略(跟踪)匹配到的文件或目录;
此外,git 对于 .ignore 配置文件是按行从上到下进行规则匹配的,意味着如果前面的规则匹配的范围更大,则后面的规则将不会生效;

 

在研究:gitignore的作用
最后需要强调的一点是,如果你不慎在创建.gitignore文件之前就push了项目,那么即使你在.gitignore文件中写入新的过滤规则,这些规则也不会起作用,Git仍然会对所有文件进行版本管理。
简单来说,出现这种问题的原因就是Git已经开始管理这些文件了,所以你无法再通过过滤规则过滤它们。因此一定要养成在项目开始就创建.gitignore文件的习惯,否则一旦push,处理起来会非常麻烦。

 

 

【git过滤已经存在的未被过滤的文件或文件夹】

操作:

1、在本地删除需要过滤的文件或文件夹(git 不会同步空文件夹  需要放置一个空文件占位gitkeep)     

2、push上去 删除远程的目标过滤文件

3、修改gitignore规则 重新push上去