Git .gitignore 忽略文件不生效解决方法

.gitignore 匹配规则

bash 复制代码
*.sample       # 忽略所有 .sample 结尾的文件
!lib.sample    # 但 lib.sample 除外
/TODO          # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/         # 忽略 build/ 目录下的所有文件
doc/*.txt      # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
  • 把某些目录或文件加入忽略规则,按照上述方法定义后发现并未生效,原因是 .gitignore 只能忽略那些原来没有被追踪的文件,如果某些文件已经被纳入了版本管理中,则修改 .gitignore 是无效的。

  • 解决方法就是先把本地缓存删除(改变成未被追踪状态),然后再提交:

bash 复制代码
$ git rm -r --cached .
$ git add .
$ git commit -m 'update .gitignore'
$ git push
相关推荐
guwentian8 小时前
Git Worktree 实战:用并行多 Agent 把开发提速 N 倍
大数据·git·elasticsearch·wroktree
不吃鱼的羊11 小时前
Git识别未修改的文件有修改
git
蓝黑墨水13 小时前
一个git问题的处理
git
互联网中的一颗神经元16 小时前
21 — 额外命令:同时开两个窗口、自动检查哨
git
_道隐_19 小时前
git stash save 和 git stash push有什么区别?
git
_道隐_21 小时前
git stash如何pop指定的stash change?
git
PC2005-cloud1 天前
Git学习笔记:GitHub Git Data API 完全指南,用 Go 操控 Git 底层对象
笔记·git·学习
Python私教2 天前
AI 并行编码的 Worktree 生命周期:创建、隔离与安全回收
人工智能·git
互联网中的一颗神经元2 天前
16 — 改写历史 rebase:搬家到新楼层,不是合并
git
互联网中的一颗神经元2 天前
19 — 贮藏与清理:stash 是抽屉,gc 是打包箱
git