今早,atom 出现 autocomplete-paths 问题,安利了一下.
解决方案就是添加一个文件 .gitnore,如图所示:
了解下该文件,完整文件名就是 ".gitignore",注意最前面有个 ".".这样没有扩展名的文件在 Windows 下不太好创建,这里给出 win7 的创建方法:
<< 创建一个文件,文件名为:".gitignore.",注意前后都有一个点.保存之后系统会自动重命名为".gitignore".
一般来说每个 Git 项目中都需要一个 ".gitignore" 文件,这个文件的作用就是告诉 Git 哪些文件不需要添加到版本管理中.
实际项目中,很多文件都是不需要版本管理的,比如 Python 的. pyc 文件和一些包含密码的配置文件等等.
这个文件的内容是一些规则,Git 会根据这些规则来判断是否将文件添加到版本控制中.
下面我们看看常用的规则:
/mtk/ 过滤整个文件夹
*.zip 过滤所有. zip 文件
/mtk/do.c 过滤某个具体文件
需要注意的是,gitignore 还可以指定要将哪些文件添加到版本管理中:
!*.zip
!/mtk/one.txt
唯一的区别就是规则开头多了一个感叹号,Git 会将满足这类规则的文件添加到版本管理中.
为什么要有两种规则呢?想象一个场景:我们只需要管理 / mtk / 目录中的 one.txt 文件,这个目录中的其他文件都不需要管理.那么我们就需要使用:
/mtk/
!/mtk/one.txt
假设我们只有过滤规则没有添加规则,那么我们就需要把 / mtk / 目录下除了 one.txt 以外的所有文件都写出来!
最后需要强调的一点是,如果你不慎在创建. gitignore 文件之前就 push 了项目,那么即使你在. gitignore 文件中写入新的过滤规则,这些规则也不会起作用,Git 仍然会对所有文件进行版本管理.
简单来说,出现这种问题的原因就是 Git 已经开始管理这些文件了,所以你无法再通过过滤规则过滤它们.
所以大家一定要养成在项目开始就创建. gitignore 文件的习惯,否则一旦 push,处理起来会非常麻烦.
# 此为注释 - 将被 Git 忽略
*.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
来源: http://www.qdfuns.com/notes/41412/ee9c617af409c2936f178010dad59bcb.html