git中的 .gitignore 的忽略规则

来源:互联网 发布:编程判断整数的奇偶性 编辑:程序博客网 时间:2024/06/08 15:44

git中的 .gitignore 的忽略规则

git项目中的.gitignore文件的作用是:

忽略项目中的某些文件/文件夹,不把某些本地仓库的文件/文件夹提交到远程的版本库中
通过git init建立的项目或者git clone下来的项目一般都会有这个文件; 其他情况下需自己手工建立此文件

匹配规则为:每行保存一个匹配规则, 同时使用#作为注释标识

*.a # 忽略所有 .a 结尾的文件

!lib.a # lib.a 不忽略

/tools # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO

test/ # 忽略 根目录下的 test/ 目录下的所有文件

examples/*.txt # 只忽略 examples/*.txt 但不忽略examples/目录下子目录中的*.txt文件

特殊情况

上述情况是项目刚刚建立时使用. 如果一个项目已经建立好, 并且已经push过文件了, 那么此时想把某些目录或文件加入忽略规则,需要将当前目录的git缓存情况才能生效,否则新忽略的文件还是会被上传上去. 原因是:

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

方法如下:

git rm -r --cached .git add .git commit -m 'update .gitignore'