最近在学习使用git,在自己的项目里也开始使用了。其中有一个十分有用的文件: .gitignore ,其作用是忽略那些你不想提交到版本库里的文件,例如含有密码的本地文件,编译器或者IDE生成的中间文件等。

具体 .gitignore 怎么写,官方文档里已经写的很清楚了,一行一个忽略规则,可以使用*?等通配符。

这里说一些需要特别注意的地方。

改为以下方法,在tmp下也加一个 .gitignore 文件,内容为:

2、已经commit了的文件,再加入 .gitignore 文件想要忽略他是无效的,需要删除缓存:

原因是 .gitignore 文件只能作用于Untracked文件,也就是那些从来没有被 Git 记录过的文件(自添加以后,从未 add 及 commit 过的文件)。

所以正确的顺序应该是:

从 Git 的数据库中删除对于该文件的追踪。

把对应的规则写入 .gitignore 文件,让忽略真正生效。

提交+推送。

最后需要注意的是,git rm --cached 删除的是追踪状态,而不是物理文件。

当你需要为项目创建一个空的 log 目录时, 这就变的很有用。 你可以创建一个 log 目录,在里面放置一个空的 .gitignore 文件。这样当你 clone 这个 repo 的时候 git 会自动的创建好一个空的 log 目录了。

本文参考了以下内容: