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
相关推荐
栈时没有名字5 小时前
git仓库管理,commit或push上传服务器失败问题
git·嵌入式
金銀銅鐵6 小时前
[git] 如何丢弃对一个文件的改动?
git·后端
JAVA面经实录91710 小时前
Java开发工程基础完整手册(企业实战完整版)
java·开发语言·git·ci/cd·svn·github·intellij idea
草履虫君11 小时前
若用wsL方式安装openclaw 就不需要安装win原生的node和git
经验分享·git·ai
手握风云-11 小时前
深入 Git:它是如何记录世界的(一)
git
华科大胡子12 小时前
Git Submodule深度避坑指南
git
花开花落为谁愁14 小时前
Git核心命令速查表
大数据·git·elasticsearch
雨声不在14 小时前
家用小GIT
git
雨声不在14 小时前
mac-intel安装git-lfs
git·elasticsearch·macos
习惯就好zz1 天前
Git 交互式 rebase 实战:将后续修改合并到历史提交
git