Git使用详细教程(7):.gitignore使用详解

时间:2022-04-28 16:02:27

Git提供了一个.gitignore文件,帮助我们忽略掉一些不想或者不能提交到版本控制器中的文件。这个文件的使用时必须要掌握的。

  • *.a # 忽略所有目录下的.a结尾的文件
  • !lib.a # 但lib.a除外
  • /TODO # 仅仅忽略项目根目录下的TODO文件,不包括subdir/TODO
  • build/ # 忽略build/目录下的所有文件
  • doc/*.txt # 忽略 doc/notes.txt 但不包括doc/server/arch.txt
  • doc/**/*.txt # 会忽略doc/目录及其子目录下的所有以.txt结尾的文件

下面开始对上面的命令依次进行演示:

*.log 忽略所有目录下的.log结尾的文件

编辑.gitignore文件

Git使用详细教程(7):.gitignore使用详解

如下图所示,根目录下的one.log文件和test目录下的two.log文件都被忽略掉了

Git使用详细教程(7):.gitignore使用详解

!lib.log但lib.log除外

Git使用详细教程(7):.gitignore使用详解

Git使用详细教程(7):.gitignore使用详解

注意,!lib.log不仅仅是不忽略根目录下的lib.log文件,根目录下所有目录及其子目录里的lib.log都不会被忽略

Git使用详细教程(7):.gitignore使用详解

/TODO 仅仅忽略项目根目录下的TODO文件,不包括subdir/TODO

如下图,.gitignore配置忽略/test目录下的文件

Git使用详细教程(7):.gitignore使用详解

可以看到,只把根目录下的test文件忽略了,但是其他目录有test文件夹就不会被忽略

Git使用详细教程(7):.gitignore使用详解

build/ 忽略build/目录下的所有文件

Git使用详细教程(7):.gitignore使用详解

Git使用详细教程(7):.gitignore使用详解

doc/*.txt 忽略 doc/notes.txt 但不包括doc/server/arch.txt

Git使用详细教程(7):.gitignore使用详解

doc之所以没有被忽略,是因为doc目录下的server目录里有以.txt结尾的文件

Git使用详细教程(7):.gitignore使用详解

如果想忽略doc下所有的.txt文件,可以采用下面的方式,**表示所有目录

Git使用详细教程(7):.gitignore使用详解

这样,doc目录下的所有.txt都被忽略了

Git使用详细教程(7):.gitignore使用详解