ignore

更新时间:2022-12-29 01:03:22 阅读: 评论:0


2022年12月29日发(作者:耗尽)

Git忽略⽂件之.gitignore的使⽤

在使⽤Git的过程中,我们喜欢有的⽂件⽐如⽇志,临时⽂件,编译的中间⽂件等不要提交到代码仓库,这时就要设置相

应的忽略规则,来忽略这些⽂件的提交。

⼀、Git忽略⽂件提交的⽅法

有三种⽅法可以实现忽略Git中不想提交的⽂件。

1、在Git项⽬中定义.gitignore⽂件

这种⽅式通过在项⽬的某个⽂件夹下定义.gitignore⽂件,在该⽂件中定义相应的忽略规则,来管理当前⽂件夹下的⽂件的Git提交⾏为。

.gitignore⽂件是可以提交到公有仓库中,这就为该项⽬下的所有开发者都共享⼀套定义好的忽略规则。

在.gitingore⽂件中,遵循相应的语法,在每⼀⾏指定⼀个忽略规则。如:

*.log

*.temp

/vendor

2、在Git项⽬的设置中指定排除⽂件

这种⽅式只是临时指定该项⽬的⾏为,需要编辑当前项⽬下的.git/info/exclude⽂件,然后将需要忽略提交的⽂件写⼊其中。

需要注意的是,这种⽅式指定的忽略⽂件的根⽬录是项⽬根⽬录。

re⽂件3、定义Git全局的.gitignore⽂件

除了可以在项⽬中定义.gitignore⽂件外,还可以设置全局的ore⽂件来管理所有Git项⽬的⾏为。这种⽅式在不同的项⽬开发者之间

是不共享的,是属于项⽬之上Git应⽤级别的⾏为。

这种⽅式也需要创建相应的.gitignore⽂件,可以放在任意位置。然后在使⽤以下命令配置Git:

esfile~/.gitignore

⼆、Git忽略规则

详细的忽略规则可以参考官⽅英⽂⽂档

1、Git忽略规则优先级

在.gitingore⽂件中,每⼀⾏指定⼀个忽略规则,Git检查忽略规则的时候有多个来源,它的优先级如下(由⾼到低):

从命令⾏中读取可⽤的忽略规则

当前⽬录定义的规则

⽗级⽬录定义的规则,依次递推

$GIT_DIR/info/exclude⽂件中定义的规则

esfile中定义的全局规则

2、Git忽略规则匹配语法

在.gitignore⽂件中,每⼀⾏的忽略规则的语法如下:

空格不匹配任意⽂件,可作为分隔符,可⽤反斜杠转义

#开头的⽂件标识注释,可以使⽤反斜杠进⾏转义

!

开头的模式标识否定,该⽂件将会再次被包含,如果排除了该⽂件的⽗级⽬录,则使⽤!也不会再次被包含。可以使⽤反斜杠进⾏转义

/

结束的模式只匹配⽂件夹以及在该⽂件夹路径下的内容,但是不匹配该⽂件

/

开始的模式匹配项⽬跟⽬录

如果⼀个模式不包含斜杠,则它匹配相对于当前.gitignore⽂件路径的内容,如果该模式不在.gitignore⽂件中,则相对于项⽬根⽬录

**

匹配多级⽬录,可在开始,中间,结束

通⽤匹配单个字符

[]

通⽤匹配单个字符列表

3、常⽤匹配⽰例:

bin/

:忽略当前路径下的bin⽂件夹,该⽂件夹下的所有内容都会被忽略,不忽略bin⽂件

/bin

:忽略根⽬录下的bin⽂件

/*.c

:忽略cat.c,不忽略build/cat.c

debug/*.obj

:忽略debug/,不忽略debug/common/和tools/debug/

**/foo

:忽略/foo,a/foo,a/b/foo等

a/**/b

:忽略a/b,a/x/b,a/x/y/b等

!/bin/

:不忽略bin⽬录下的⽂件

*.log

:忽略所有.log⽂件

:忽略当前路径的⽂件

三、.gitignore规则不⽣效

.gitignore只能忽略那些原来没有被track的⽂件,如果某些⽂件已经被纳⼊了版本管理中,则修改.gitignore是⽆效的。

解决⽅法就是先把本地缓存删除(改变成未track状态),然后再提交:

gitrm-rf--cached.

gitadd.

gitcommit-m'ore'

本文发布于:2022-12-29 01:03:22,感谢您对本站的认可!

本文链接:http://www.wtabcd.cn/fanwen/fan/90/50161.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

上一篇:quality
下一篇:advance
标签:ignore
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图