.gitignore 文件
1. .gitignore 文件存在的必要性
在 Git 工作区的根目录下创建一个特殊的 .gitignore 文件,然后把要忽略的文件名填进去,Git 就会自动忽略这些文件。
如果有很多很大的文件不想添加到 git 中,但是他们又不在 .gitignore 文件中列出,那么每次 git status 都会显示 「Untracked files ...」 很烦躁;
而且如果一不小心 git add . 之后,就会把这些不想添加的文件加入到 git 中,尤其是一些超大型文件,一旦添加到 git 中,不管是 linux 的 rm 还是 git rm 都很难彻底的删除掉他们,很危险。
2. 忽略文件的原则是
- 忽略操作系统自动生成的文件,比如缩略图等;
- 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如Java编译产生的.class文件;
- 忽略你自己的带有敏感信息的配置文件,比如存放口令的配置文件。
3. 添加忽略项目到 .gitignore 文件中
不需要从头写 .gitignore 文件,GitHub 已经为我们准备了各种配置文件,只需要根据需求组合一下就可以使用了。
根据各自项目的特殊需求再在 1 的基础上进行添加
将 .gitignore 文件添加提交到 git 仓库
注意: 如果不小心提交了不想要的文件(大型文件除外):
- 请先将该文件
git rm - 将该项添加到 .gitignore 文件中,并将.gitignore 文件提交到 git 仓库
- 请先将该文件
一些例子:
*.[oa] 以o或a结尾的文件不要添加 *.pyc !test.pyc test.pyc这个文件不要被忽略 \!test.py !test.py 这个文件忽略 foo/ 忽略foo名字的目录(但是忽略不到名叫foo的文件) **/res 匹配0个-N个叫 res 的目录
4. 查看忽略文件信息
有些时候,你想添加一个文件到Git,但发现添加不了,原因是这个文件被.gitignore忽略了:
$ git add App.class The following paths are ignored by one of your .gitignore files: App.class Use -f if you really want to add them.根据需求,可以选择强制添加
$ git add -f App.class也可以查看忽略信息
或者你绝的可能是 .gitignore 写得有问题,需要找出来到底哪个规则写错了,可以用下面命令检查:
$ git check-ignore -v App.class .gitignore:3:*.class App.classGit会告诉我们,.gitignore的第3行规则忽略了该文件,于是我们就可以知道应该修订哪个规则。