最近在学习使用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 目录了。
本文参考了以下内容: