.gitignore 文件

1. .gitignore 文件存在的必要性

在 Git 工作区的根目录下创建一个特殊的 .gitignore 文件,然后把要忽略的文件名填进去,Git 就会自动忽略这些文件。

如果有很多很大的文件不想添加到 git 中,但是他们又不在 .gitignore 文件中列出,那么每次 git status 都会显示 「Untracked files ...」 很烦躁;

而且如果一不小心 git add . 之后,就会把这些不想添加的文件加入到 git 中,尤其是一些超大型文件,一旦添加到 git 中,不管是 linux 的 rm 还是 git rm 都很难彻底的删除掉他们,很危险。

2. 忽略文件的原则是

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

3. 添加忽略项目到 .gitignore 文件中

  1. 不需要从头写 .gitignore 文件,GitHub 已经为我们准备了各种配置文件,只需要根据需求组合一下就可以使用了。

    所有配置文件请戳

  2. 根据各自项目的特殊需求再在 1 的基础上进行添加

  3. 将 .gitignore 文件添加提交到 git 仓库

    注意: 如果不小心提交了不想要的文件(大型文件除外):

    1. 请先将该文件 git rm
    2. 将该项添加到 .gitignore 文件中,并将.gitignore 文件提交到 git 仓库
  4. 一些例子:

     *.[oa] 以o或a结尾的文件不要添加
     *.pyc
     !test.pyc  test.pyc这个文件不要被忽略
     \!test.py  !test.py 这个文件忽略
     foo/ 忽略foo名字的目录(但是忽略不到名叫foo的文件)
     **/res  匹配0个-N个叫 res 的目录
    

4. 查看忽略文件信息

  1. 有些时候,你想添加一个文件到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.
    
  2. 根据需求,可以选择强制添加

     $ git add -f App.class
    
  3. 也可以查看忽略信息

    或者你绝的可能是 .gitignore 写得有问题,需要找出来到底哪个规则写错了,可以用下面命令检查:

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

    Git会告诉我们,.gitignore的第3行规则忽略了该文件,于是我们就可以知道应该修订哪个规则。

results matching ""

    No results matching ""