4,版本控制git --忽略特殊文件

有些时候,你必须把某些文件放到Git工做目录中,但又不能提交它们,好比保存了数据库密码的配置文件啦,等等,每次git status都会显示Untracked files ...,有强迫症的童鞋内心确定不爽。git

好在Git考虑到了你们的感觉,这个问题解决起来也很简单,在Git工做区的根目录下建立一个特殊的.gitignore文件,而后把要忽略的文件名填进去,Git就会自动忽略这些文件。github

不须要从头写.gitignore文件,GitHub已经为咱们准备了各类配置文件,只须要组合一下就可使用了。全部配置文件能够直接在线浏览:<https://github.com/github/gitignore>;数据库

忽略文件的原则是:编辑器

  1. 忽略操做系统自动生成的文件,好比缩略图等;
  2. 忽略编译生成的中间文件、可执行文件等,也就是若是一个文件是经过另外一个文件自动生成的,那自动生成的文件就不必放进版本库,好比Java编译产生的.class文件;
  3. 忽略你本身的带有敏感信息的配置文件,好比存放口令的配置文件。

举个例子:ui

假设你在Windows下进行Python开发,Windows会自动在有图片的目录下生成隐藏的缩略图文件,若是有自定义目录,目录下就会有Desktop.ini文件,所以你须要忽略Windows自动生成的垃圾文件:spa

# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini

而后,继续忽略Python编译产生的.pyc.pyodist等文件或目录:操作系统

# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build

加上你本身定义的文件,最终获得一个完整的.gitignore文件,内容以下:code

# Windows:
Thumbs.db
ehthumbs.db
Desktop.ini

# Python:
*.py[cod]
*.so
*.egg
*.egg-info
dist
build

# My configurations:
db.ini
deploy_key_rsa

最后一步就是把.gitignore也提交到Git,就完成了!固然检验.gitignore的标准是git status命令是否是说working directory cleanblog

使用Windows的童鞋注意了,若是你在资源管理器里新建一个.gitignore文件,它会很是弱智地提示你必须输入文件名,可是在文本编辑器里“保存”或者“另存为”就能够把文件保存为.gitignore了。图片

有些时候,你想添加一个文件到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.

若是你确实想添加该文件,能够用-f强制添加到Git:

$ git add -f App.class

或者你发现,多是.gitignore写得有问题,须要找出来到底哪一个规则写错了,能够用git check-ignore命令检查:

$ git check-ignore -v App.class
.gitignore:3:*.class    App.class

Git会告诉咱们,.gitignore的第3行规则忽略了该文件,因而咱们就能够知道应该修订哪一个规则。

  • 忽略某些文件时,须要编写.gitignore
  • .gitignore文件自己要放到版本库里,而且能够对.gitignore作版本管理!
相关文章
相关标签/搜索