WSL2 Ubuntu20.04下Git索引异常:文件变更无法被检测
WSL2 Ubuntu 20.04下Git无法检测文件变更问题
问题描述
在WSL2(Ubuntu 20.04)环境中,修改仓库工作区文件后,git status、git diff、git commit -a、git checkout .等命令均无法检测到文件变更。必须删除索引并重置后才能识别变更,但再次修改文件后问题会重复出现。
注:eza的git列能正常显示文件已修改,且新创建的Ubuntu 24.04 WSL环境中Git功能完全正常。
已做测试
- 测试不同仓库:包含已有远程关联的现有仓库,以及
git init新建的无远程仓库,所有仓库均存在该问题 - 使用不同编辑器:分别用neovim、nano修改文件,问题未得到解决
- 尝试两种临时修复方案(仅单次生效,重复修改文件后问题复发):
方案1:
方案2:git rm --cached README.md git resetrm .git/index git reset
已完成排查
- 仓库位于WSL主目录,无Windows系统并行访问该仓库
- 无IDE运行并访问仓库,已重启电脑和WSL实例
- 测试仓库无本地
.gitignore文件,全局gitignore规则无异常,已通过git check-ignore验证 - 确认使用Linux版Git:
which git返回/usr/bin/git,PATH中Linux路径优先级高于Windows路径 - 当前Git版本为2.25.1,无法通过默认apt源更新,需切换至PPA源
请问该问题的根源是什么?
内容的提问来源于stack exchange,提问作者Gunter
相关产品推荐
相关产品推荐

