一.前言
我们使用git进行版本控制的过程中,会希望一些文件不要进行提交,那这个时候就可以利用一些方法达到这个目的,这篇文章讨论一下如何使用.gitignore文件来进行忽略的方法。
二.讨论一下.gitignore文件规则
先简单讨论一下常用的.gitignore文件编写规则,其实比较像正则表达式中的一些内容。
- 一行表示一个规则。
- 使用#表示注释。
- 使用*匹配若干字符(0个/一个/多个)。
- 使用?匹配一个字符。
- 使用[]匹配字符列表。
- !表示否定(不忽略)。
- /表示目录。
- **匹配多级目录。
三.具体.gitignore文件写法示例
来看一些.gitignore文件规则写法示例,更多写法可以参考规则进行编写。
#.gitignore
main.exe
#表示忽略所有main.exe文件。
*.exe
#表示忽略所有.exe文件。
/*.exe
#表示忽略当前目录下的所有.exe文件。
/src/*.exe
#表示忽略当前目录下的src目录下所有.exe文件。
!/main.exe
#表示不忽略当前目录下main.exe文件。
/bin
#表示忽略当前.gitignore文件所在同级目录下的bin目录下所有文件。
#如果同级目录下bin不是目录而是文件,会忽略bin文件。
bin/
#表示忽略所有目录下的bin目录下所有文件,比如包括/bin目录下所有文件,/src/bin目录下所有文件。
#如果bin是文件名,不会忽略。
/src/**/bin
#表示忽略当前目录下的src目录下的任意目录下的bin目录下的所有文件,比如src/bin,/src/debug/bin,/src/release/bin,/src/src/release/bin目录下的所有文件。
#如果bin是文件,也会忽略。
四.讨论一下.gitignore文件规则的生效优先级
1.当前目录下的.gitignore文件的生效优先级最高,然后是上级目录,以此类推,优先级高的规则会覆盖优先级低的规则。
2.对于同一个.gitignore文件会按行从上往下进行生效,所以如果多行规则对同一个文件都会影响,则越往下面的一行规则优先级会越高,同样优先级高的规则会覆盖优先级低的规则。
3.注意,这里说的只是git工作区的.gitignore文件的生效优先级,git忽略文件的规则还包括命令行的内容等,而且命令行优先级更高。
五.其他
1.如果文件已经在追踪中,修改.gitignore文件不会对该文件生效。
2.也可以利用其他方式设置忽略规则,比如修改.git/info/exclude文件等等,特点也不一样,感兴趣的话也可以研究一下。
欢迎讨论,欢迎指正,欢迎转载。文章来源:https://www.toymoban.com/news/detail-769497.html
文章来源地址https://www.toymoban.com/news/detail-769497.html
到了这里,关于git如何使用.gitignore文件设置忽略文件规则的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!