Git提交忽略不想提交的文件
.gitignore文件
一般来说每个Git项目中都需要一个“.gitignore”文件,这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。
通过.gitignore文件的配置使用,可以让我们在向Git服务器提交时,忽略我们不想提交的文件。 本篇将记录自己在平时使用git提交文件时的忽略规则。
.gitignore的忽略规则
.gitignore的匹配规则是从上到下的,使用时应该注意书写顺序,在前面书写范围过大的规则,会导致后面的规则无效。
- 首先 # 为注释符号。以#号为开头的内容都将被注释掉,可以使用\转译显示。
- 空格 为分隔符。不匹配任何文件,同样可以使用\转译。
- / 用于目录相关匹配。以/开头表示匹配从根目录开始,如/.idea;以/结束表示匹配该目录下的所有文件(包括目录本身),如.idea/。
- 星号 表示匹配多个任意字符。使用两个*表示匹配中间任意目录,如start/1/end,start/2/3/end。
- 问号 表示匹配一个任意字符。
- [] 表示匹配方括号里面的任意一个字符,如[qwe],[0-9],[a-z]等。
- ! 表示不忽略。以!开头加匹配规则,会不忽略匹配到的文件,但要注意更高层级的匹配规则。
忽略规则的举例
- *.ini 忽略所有以.ini结尾的文件。
- !a 忽略规则内a文件。
- /a 忽略根目录下的a文件,不包含子目录下的a文件,如b/a。
- a/ 忽略整个a文件夹下面的文件。
- a/: 忽略整个文件夹下面除了a文件的所有文件。
- /a: 忽略跟目录下面的a文件
- /*.a: 忽略根目录下的.a结尾文件,不包含其他子目录下的。
- **/a: 忽略任何子目录下的a文件。
- a/*: 忽略任何a目录下的文件。
- /a/*:只忽略根目录下a目录下的文件。