一切福田,不離方寸,從心而覓,感無不通。

使用.gitignore忽略文件或者文件夹及其失效解决方法

  1. git如果需要忽略某个文件夹,可以在初始化之后,在仓库根目录下创建一个.gitignore文件,添加需要忽略的文件和文件夹即可。
    我们也不需要从头写.gitignore文件,GitHub已经为我们准备了各种配置文件,只需要组合一下就可以使用了。所有配置文件可以直接在线浏览:https://github.com/github/gitignore
    例如排除Windows自动生成的垃圾文件和仓库的APP1子文件夹:

 

  1. 如果已经提交过的文件或者文件夹怎么办?此时更改.gitignore文件对已经提交的文件是无效的。
    2.1 首先,编辑.gitignore文件。
    2.2 然后如果是单个文件,可以使用如下命令从仓库中删除:
    git rm --cached logs/xx.log
    如果是整个目录:
    git rm --cached logs/*
    如果文件很多,那么直接
    git rm --cached .
    如果提示某个文件无法忽略,可以添加-f参数强制忽略。
    git rm -f --cached logs/xx.log
    2.3 然后
    git add .
    git commit -m "Update .gitignore"
  2. 把被忽略的某个文件强制添加回去:
    git add -f filename
  3. ignore规则检查:
    git check-ignore
  4. 一些规则
    a# 忽略所有 .a 结尾的文件
    !lib.a# 但lib.a 除外
    /TODO# 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
    build/# 忽略build/ 目录下的所有文件
    doc/.txt# 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt

参考文献:
Git忽略特殊文件 – 廖雪峰的官方网站
git如何忽略已经提交的文件 (.gitignore文件无效) – 简书
Git 中.gitignore 使用和.gitignore 无效的解决方法 – 简书

 

from:https://blog.csdn.net/toopoo/article/details/88660806