当我们在项目开发的时候,常常使用 Git 做版本控制工具。有时候,我们不希望某些文件或者文件夹被 Git 追踪,比如项目产生的中间文件【.class 、 .o】 ,比如某些编辑器的副本文件【一般文件名带有 ~ 符号】,还有一些 log 文件等等。使用命令行的小伙伴可以不使用 git add
把他们加到索引中,不过随即而来的就是一些麻烦事,在你使用 git add .
的时候还是会追踪这些文件。使用 git status
也会显示 Untracked files……
。我一直在使用 Github For Windows ,如果没有 .gitignore 文件,每次提交之前也要取消勾选那些不想上传的文件,非常的麻烦。
创建 .gitignore
以上说的那些问题都可以通过一个或者更多的 .gitignore 文件搞定,你可以在项目的任意目录下创建 .gitignore 文件,此文件的影响范围是当前目录和其所有子目录,可以在不同目录创建多个 .gitignore 文件【不过一般都是在项目根目录创建一个就行了】。
需要注意的是 Windows 下直接右键->新建文本文档
,然后键入文件名是没法创建的。。。详情请参考我的另一篇博客【这两篇博客应该是同一天写完的啊!拖延症得治呀( ╯□╰ )】:
你还可以在 Github 上新建一个仓库的同时指定生成特定的 .gitignore 文件,如下图:
编辑 .gitignore
创建好后,我们就可以用任何编辑器打开了,在其中填写你想要忽略的文件的文件名,Git 就会忽略这些文件。例子请往下看:
1 | # 以'#' 开始的行,被视为注释。 |
除上面的一些例子以外,[abc]、[0-9]、[a-z]、? 这些正则表达式也是支持的。
使用 Github 的配置文件
如果只是我们自己写的话,可能并不会写的很全【重要的是比较麻烦是吧!】。还好 Github 已经为我们准备了各种配置文件,我们想要用哪个,就直接拿来用就好了。详情请戳:
删除已经跟踪的文件
如果文件已经被 Git 跟踪了, 那么这些文件即使被写在了 .gitignore 中,Git 也不会忽略他,还是会继续跟踪,解决办法是输入以下命令:
1 | git rm --cached test.txt # 如果是文件夹,后面再加上 -r |