当前位置: 首页 > article >正文

windows11 的 .gitignore 文件失效(从来没有进行 commit 以及 add 操作,只是 git init 了)


Git 所有文章传送门
【Git】所有文章传送门

目录

  • 简述 / 前言
  • 1. 解决方案
  • 2. debug 过程(心路历程)

简述 / 前言

最近在 windows 上使用 Git 共享代码,发现 .gitignore 文件中标注的文件以及文件夹都不起作用,都会被 Git 追踪到,在网上也找了很多博客、也问了 Deepseek,发现都没有解决这个问题,最终发现 是创建的 .gitignore 文件格式有问题

解决方案就是:使用 vscode 或者其它的编辑器来创建 .gitignore 文件,这个时候就能解决这个问题了!下面讲讲 debug 的心路历程,不感兴趣的小伙伴可以跳过了~

1. 解决方案

使用 vscode 或者其它的编辑器来创建 .gitignore 文件不要使用记事本 或者 命令行(echo "__pycache__/" >> .gitignore 创建 .gitignore 文件

2. debug 过程(心路历程)

网上搜集到的解决方案以及 Deepseek 给出的解决方案基本上都是使用下面这个命令:

git rm -r --cached .          # 清除所有缓存
git add .                     # 重新添加文件
git commit -m "强制应用.gitignore"

但是我也没有 add 过我的代码和文件夹里面的内容啊,不过想着试试的原则,还是使用的这个命令,结果毫无意外的出现的报错信息:

fatal: pathspec '.' did not match any files

然后 AI 又提示我检查以下信息:

  • .gitignore 文件必须位于仓库根目录,可以使用以下命令:
    git check-ignore -v <文件路径>
    

于是我观察我的根目录以及使用命令检查发现都没有问题,于是我想了想,会不会是我在它的父目录有 git 仓库,忘记删除了,于是从当前目录一直往上寻找,都发现没有问题,同时还用了 git 命令来查找有没有父目录干扰了现在的仓库:

git rev-parse --show-toplevel

一切输出都显示我的 .gitignore 文件位置正确,没有语法错误。

这是 Deepseek 又提示我,“若需统一忽略某些文件(如 IDE 配置文件),可创建全局规则:”

git config --global core.excludesfile ~/.gitignore_global
echo ".DS_Store" >> ~/.gitignore_global

好的,按照它的要求发现还是没啥变化,反而我的 Git 全局配置信息多了一堆东西。

看着我的 Vscode,突然看到拓展插件那里,于是想着难道还和插件有关系吗?虽然我知道这应该和插件没什么关系,毕竟这些插件都只是显示或者可视化我的 Git 历史的,底层用的还是本机的 Git 系统,但是我就是还想试一下,把插件全部停用,重启 Vscode,发现并没有什么用。。。

想了半天,我想着难道是我的 Git 系统出 bug 了吗?好吧,想着古老的办法:“重装系统”,当然不是重装我的 windows 系统,而是卸载 Git 再重装 Git,折腾了十来分钟,发现新版本的 Git 和之前的没啥区别。

这是灵光一现,想着是不是 .gitignore 文件的格式有问题啊,因为我是在命令行创建 .gitignore 文件的:

echo "__pycache__/" >> .gitignore

这个代码在 linux 上面是可以使用的,但是在 Windows 上就会有问题!!!
原因可能是 Windows 在创建文件是使用的是 UTF-16 LE 格式(当然可能这是我的系统的问题,没仔细研究过),那么这就导致 Git 并没有识别到这是 .gitignore 文件,于是不管你怎么重装、怎么折腾,你都没办法解决,也许另存为 UTF-8 格式有用,但是我试了一下,发现还是没用。

最后就直接打算在 Vscode 中创建文件,这样应该能保证它是二进制文件了,没想到还真解决了 ^_^

继续写我的标注网页去咯,希望科研和实习一切顺利吧~


http://www.kler.cn/a/586027.html

相关文章:

  • 科技快讯 | “垃圾短信”可以被识别了;阿里正式推出AI旗舰应用;OpenAI深夜发布全新Agent工具
  • GC 频率和触发条件
  • 31、map deque list的实现原理【中高频】
  • AdaLoRA 参数 配置:CAUSAL_LM“ 表示因果语言模型任务
  • 【数据库】10分钟学会MySQL的增删改查:数据库、表、表记录操作指南
  • 分布式IO模块:架起城轨交通物理层与控制层的信息桥梁
  • WHQL微软驱动签名认证,让企业驱动在Windows系统畅通无阻
  • TPCTF2025 -Web Writeup
  • 10.3 kubelet 中的cgroupManager解析和节点qos顶级目录创建
  • S_on@atwk的意思
  • 差分专题练习 ——基于罗勇军老师的《蓝桥杯算法入门C/C++》
  • STM32---FreeRTOS消息队列
  • 16 | 实现简洁架构的 Store 层
  • Element Ui - 编辑时表单校验信息未清空问题处理
  • 作物移栽机器人的结构设计的介绍
  • Web后端开发之Maven
  • 2025年AI搜索引擎开源项目全景指南:从核心框架到生态工具
  • ARM64 架构地址空间分配深度解析
  • 79. 单词搜索:题解
  • sap关账+策略模式(避免大量if elseif)