rm -r --cached

如果你不慎在创建.gitignore文件之前就push了项目,那么即使你在.gitignore文件中写入新的过滤规则,这些规则也不会起作用,Git仍然会对所有文件进行版本管理。

简单来说出现这种问题的原因就是Git已经开始管理这些文件了,所以你无法再通过过滤规则过滤它们。

原因是.gitignore只能忽略那些原来没有被track的文件,如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。那么解决方法就是先把本地缓存删除(改变成未track状态),然后再提交:

git rm -r --cached .
git add .
git commit -m 'update .gitignore'git rm -r --cached .   //不删除本地文件
git rm -r --f .        //删除本地文件

忽略文件

#表示此为注释,将被Git忽略
*.a             表示忽略所有 .a 结尾的文件
!lib.a          表示但lib.a除外
/TODO           表示仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/          表示忽略 build/目录下的所有文件,过滤整个build文件夹;
doc/*.txt       表示会忽略doc/notes.txt但不包括 doc/server/arch.txtbin/:           表示忽略当前路径下的bin文件夹,该文件夹下的所有内容都会被忽略,不忽略 bin 文件
/bin:           表示忽略根目录下的bin文件
/*.c:           表示忽略cat.c,不忽略 build/cat.c
debug/*.obj:    表示忽略debug/io.obj,不忽略 debug/common/io.obj和tools/debug/io.obj
**/foo:         表示忽略/foo,a/foo,a/b/foo等
a/**/b:         表示忽略a/b, a/x/b,a/x/y/b等
!/bin/run.sh    表示不忽略bin目录下的run.sh文件
*.log:          表示忽略所有 .log 文件
config.php:     表示忽略当前路径的 config.php 文件/mtk/           表示过滤整个文件夹
*.zip           表示过滤所有.zip文件
/mtk/do.c       表示过滤某个具体文件
被过滤掉的文件就不会出现在git仓库中(gitlab或github)了,当然本地库中还有,只是push的时候不会上传。需要注意的是,gitignore还可以指定要将哪些文件添加到版本管理中,如下:!*.zip
!/mtk/one.txt唯一的区别就是规则开头多了一个感叹号,Git会将满足这类规则的文件添加到版本管理中。为什么要有两种规则呢?
想象一个场景:假如我们只需要管理/mtk/目录中的one.txt文件,这个目录中的其他文件都不需要管理,那么.gitignore规则应写为:/mtk/*
!/mtk/one.txt假设我们只有过滤规则,而没有添加规则,那么我们就需要把/mtk/目录下除了one.txt以外的所有文件都写出来!
注意上面的/mtk/*不能写为/mtk/,否则父目录被前面的规则排除掉了,one.txt文件虽然加了!过滤规则,也不会生效!还有一些规则如下:fd1/*说明:忽略目录 fd1 下的全部内容;注意,不管是根目录下的 /fd1/ 目录,还是某个子目录 /child/fd1/ 目录,都会被忽略;/fd1/*说明:忽略根目录下的 /fd1/ 目录的全部内容;/*
!.gitignore
!/fw/
/fw/*
!/fw/bin/
!/fw/sf/说明:忽略全部内容,但是不忽略 .gitignore 文件、根目录下的 /fw/bin/ 和 /fw/sf/ 目录;注意要先对bin/的父目录使用!规则,使其不被排除。

Git停止跟踪rm -r --cached与ignore区别相关推荐

  1. git rm -r --cached 去掉已经托管在git上的文件

    1.gitignore文件 在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,可以使用修改 .gitignore 文件的方法.这个文件每一行保存了一个匹配的规则例如: # 此为注释 – 将被 ...

  2. git rm -r --cached_【Git】工作中99%能用到的git命令

    分支操作 git branch 创建分支 git checkout -b 创建并切换到新建的分支上 git checkout 切换分支 git branch 查看分支列表 git branch -v ...

  3. git rm–r folder/file fatal:pathspec did not match any files

    问题描述: 某年某月某日,在查看git库的时候,发现文件的分布和文件夹的名字是极其不合理的,所以移动和重命名了某些文件. 在删除(git rm –r folder)一个空文件夹的时候,出现错误:fat ...

  4. find命令过滤 no such_linux find -exec rm -r 报No such file or directory

    linux find -exec rm -r 报: No such file or directory 系统环境Ubuntu 16.04.3 LTS 在写批量制作docker镜像脚本时,先是将代码目录 ...

  5. rm ,rm -rf , rm -f,rm -r 以及rm 命令的其他参数命令

    rm ,rm -rf , rm -f,rm -r 以及rm 命令的其他参数命令 1.rm -rf * 删除当前目录下的所有文件,这个命令很危险,应避免使用. 所删除的文件,一般都不能恢复! 2.rm ...

  6. linux rm、rm -f、rm -r的区别

    # rm test.txt rm:是否删除 一般文件 "test.txt"? y # rm homework rm: 无法删除目录"homework": 是一个 ...

  7. LWN:git evolve - 跟踪一个改动自己的历史!

    关注了就能看到更多这么棒的文章哦- Git evolve: tracking changes to changes By Jonathan Corbet November 11, 2022 DeepL ...

  8. linux rm r是什么格式,linux rm 命令作用哪些使用教程

    在Linux中,rm是常用的命令,该命令的功能为删除一个目录中的一个或多个文件或目录,但是同时也要谨慎使用,否则会丢失重要数据,今天学习一下linux中删除文件和目录的命令: rm命令 1.命令格式: ...

  9. 在玩ubuntu的时候一不小心运行了 $sudo rm -r /* 怎么办

    我是小米笔记本13.3,原本装的是win10+ubuntu17.10双系统. 某天,我和室友要到了尼尔机械纪元汉化版的资源(接近50G),兴冲冲的放到电脑上,然而根本不能玩,而且我的电脑外存还只有25 ...

最新文章

  1. linux下 get,Unix/Linux下 getrusage 的用法
  2. 在cmd环境下操作Oracle11g数据库
  3. Windows10选择文件打开方式没有始终允许的解决方案
  4. 【Linux】一步一步学Linux——VMware虚拟机三种网络模式详解(07)
  5. python获取window共享目录列表_利用Python获取DICOM RTstructure勾画列表
  6. gatsby_如何将静态Gatsby应用程序部署到Heroku
  7. Visio2016下载激活破解
  8. 安卓能硬改的手机机型_免root伪装手机型号,算是硬改吧,技术原理!
  9. IDEA 打开窗口切换的快捷键
  10. 寒假实践之—大奖赛计分系统
  11. 极致cms精仿小黑猿资源网源码
  12. 狗年拜年php源码,创意拜年祝福语狗年
  13. java buildpack是什么_javabuildpack改造
  14. js reduce 累加数组里对象某个属性的和 NaN
  15. windows设置开机启动程序
  16. leetcode844 比较含退格的字符串(python)
  17. 弘辽科技:回首京东发展史,为占下沉市场,刘强东重出江湖
  18. STM32--学习笔记 常用协议总结
  19. 实训|第十天从底层解释一下U盘内存为什么变小的原因附数据恢复的基本原理...
  20. 2018年中国安全生产事故总量、较大事故、重特大事故同比实现“三个下降”

热门文章

  1. redis-4.0.10集群安装(3台机器,6个node),以及在Spring项目中的集成,redis操作工具类
  2. 1.Boost之array
  3. 类型转换,类与类之间的转换,继承关系,继承与静态变量,子类父类重名,多继承,虚基类
  4. 激活,数据存储,吐司
  5. 检索数据_7_拼接列的值
  6. SQL Server扩展事件(Extended Events)-- 将现有 SQL 跟踪脚本转换为扩展事件会话
  7. 《机器人自动化:建模、仿真与控制》——2.3 仿真
  8. 17 HTTP编程入门
  9. 《VMware 网络技术:原理与实践》—— 3.2 以太网
  10. 《Jersey用户指南》翻译邀请