Git .gitignore文件简介及使用

By:授客 QQ1033553122

 

.gitignore 这个文件的作用就是告诉Git哪些文件不需要添加到版本管理中。实际项目中,很多文件都是不需要版本管理的,比如Python.pyc文件Git会根据这个文件里配置的这些规则来判断是否将文件添加到版本控制中。

 

注意,直接新建文件后,重命名为.gitignore是行不通的,windows不让,必须通过另存为的方式设置为.gitignore文件

常用的规则:

1/mtk/                过滤整个文件夹

2*.zip                过滤所有.zip文件

3/mtk/do.c            过滤某个具体文件

 

还可以通过 ! 指定要将哪些文件添加到版本管理中

1!*.zip

2!/mtk/one.txt

 

一个场景:假如我们只需要管理/mtk/目录中的one.txt文件,这个目录中的其他文件都不需要管理,那么我们就需要使用:

1/mtk/

2!/mtk/one.txt

 

 

规则配置语法:

以斜杠/”开头表示目录;

以星号*”通配多个字符;

以问号?”通配单个字符

以方括号[]”包含单个字符的匹配列表;

以叹号!”表示不忽略(跟踪)匹配到的文件或目录;

 

此外,git 对于 .ignore 配置文件是按行从上到下进行规则匹配的

2)示例说明

fd1/*

说明:忽略目录 fd1 下的全部内容;注意,不管是fd1在哪

 

/fd1/*

说明:忽略根目录下的 /fd1/ 目录的全部内容;

/*

!.gitignore

!/fw/bin/

!/fw/sf/

 

说明:忽略全部内容,但是不忽略 .gitignore 文件、根目录下的 /fw/bin/ /fw/sf/ 目录;

 

monitor/__pycache__/*.pyc

说明:忽略文件 monitor/__pycache__/目录下的.pyc文件

 

 

注意:

.gitignore只能忽略那些原来没有被track的文件(也就是那些从来没有被 Git 记录过的文件--自添加以后,从未 add commit 过的文件),如果某些文件已经被纳入了版本管理中,默认情况下,.gitignore对这些文件不起作用的。

 

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

1git rm -r --cached .

2git add .

3git commit -m 'comment'

 

注意:

进入到目标目录

实例:

E:\mygit\others>cd  E:\mygit\others\monitor

 

E:\mygit\others\monitor>git rm -r --cached .

rm 'monitor/.idea/.name'

rm 'monitor/.idea/encodings.xml'

rm 'monitor/.idea/misc.xml'

rm 'monitor/.idea/modules.xml'

rm 'monitor/.idea/monitor.iml'

rm 'monitor/.idea/oneKeyUPDownload.iml'

……

 

E:\mygit\others\monitor>git add .

 

E:\mygit\others\monitor>git commit -m 'updategitignore'

[master 8d4db51] 'updategitignore'

 30 files changed, 55393 insertions(+), 56636 deletions(-)

 create mode 100644 monitor/.gitignore

 delete mode 100644 monitor/.idea/.name

 delete mode 100644 monitor/.idea/encodings.xml

……