【转】git如何使用.gitignore文件设置忽略文件规则

发布时间:2024年01月16日

git如何使用.gitignore文件设置忽略文件规则

目录
一.前言
二.讨论一下.gitignore文件规则
三.具体.gitignore文件写法示例
四.讨论一下.gitignore文件规则的生效优先级
五.其他
一.前言
我们使用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是文件,也会忽略。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
四.讨论一下.gitignore文件规则的生效优先级
1.当前目录下的.gitignore文件的生效优先级最高,然后是上级目录,以此类推,优先级高的规则会覆盖优先级低的规则。

2.对于同一个.gitignore文件会按行从上往下进行生效,所以如果多行规则对同一个文件都会影响,则越往下面的一行规则优先级会越高,同样优先级高的规则会覆盖优先级低的规则。

3.注意,这里说的只是git工作区的.gitignore文件的生效优先级,git忽略文件的规则还包括命令行的内容等,而且命令行优先级更高。

五.其他
1.如果文件已经在追踪中,修改.gitignore文件不会对该文件生效。

2.也可以利用其他方式设置忽略规则,比如修改.git/info/exclude文件等等,特点也不一样,感兴趣的话也可以研究一下。

欢迎讨论,欢迎指正,欢迎转载。
————————————————
版权声明:本文为CSDN博主「木马小Z」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/LEOZ_PTLS_PL/article/details/134231128

文章来源:https://blog.csdn.net/weizhiai12/article/details/135619324
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。