Git提交时使用.gitignore文件忽略特殊文件

框架目录下基本上都会有一个.gitignore文件,比如我们常用的 ThinkPHP5 框架,这个文件有什么用呢?

在工作中或者日常开发中,我们使用 Git 进行开发上传至 Github 等托管平台,有些时候,我们必须把某些文件放到 Git 的工作目录中,但是又不能提交它们,比如保存了数据库密码的配置文件、ide 的配置文件等等,不然每次查看状态都有未监视的文件Untracked files ...,有强迫症的话肯定不舒服,而且每次都要取消掉这些文件的提交

庆幸的是 Git 考虑到了大家的感受,这个问题解决起来也很简单,在 Git 工作区的根目录下创建一个特殊的.gitignore文件,然后把要忽略的文件名填进去,Git 就会自动忽略这些文件

忽略文件的原则是:

  1. 忽略操作系统自动生成的文件,比如缩略图等
  2. 忽略编译生成的中间文件、可执行文件等,也就是如果一个文件是通过另一个文件自动生成的,那自动生成的文件就没必要放进版本库,比如ThinkPHP5框架产生的runtime文件
  3. 忽略你自己的带有敏感信息的配置文件,比如ThinkPHP5框架根目录下的.env配置数据库文件

举个栗子 😎

使用 ThinkPHP5 框架进行开发,使用PHPStorm撸码,会自动在项目根目录下生成.idea文件,还有.env配置数据库文件,以及runtime自动生成文件,因此需要忽略这些文件

.idea
.env
runtime
.git

最后一步就是把.gitignore也提交到 Git,就完成了!当然检验.gitignore的标准是git status命令是不是说nothing to commit, working tree clean

有些时候,想添加一个文件到 Git 的话,但发现添加不了,原因就是这个文件被.gitignore忽略了,会提示如下错误

$ git add .idea
The following paths are ignored by one of your .gitignore files:
.idea
Use -f if you really want to add them.

如果你确实想添加该文件,可以用-f强制添加到 Git

$ git add -f .idea

所以在使用 Git 的时候想要忽略某些文件时,需要编写.gitignore

扩展业务 | 沈唁志

9 条评论

发表评论

*