克隆仓库修改文件后git status无修改提示,VSCode未识别变更
问题:克隆仓库后修改README.md,Git不识别文件变更
现象
克隆远程仓库到本地后,修改README.md文件,VSCode未标记为已修改,执行git status始终显示工作区干净。
排查与解决步骤
1. 检查.gitignore规则
执行以下命令查看是否有规则忽略了README.md:
cat .gitignore
如果输出中包含README.md,删除该行即可。
2. 确认文件的Git跟踪状态
执行命令查看README.md是否处于Git跟踪状态:
git ls-files --stage README.md
- 若输出为空:说明文件未被跟踪,执行
git add README.md后再修改文件,重新执行git status查看。 - 若输出类似
100644 <哈希值> 0 README.md:说明文件已被跟踪,继续下一步排查。
3. 检查Git换行符配置
Windows环境下,Git的core.autocrlf设置可能导致换行符自动转换,让Git误判文件未变更:
- 查看当前配置:
git config --get core.autocrlf
- 若值为
true,修改为false:
git config core.autocrlf false
修改后重新编辑README.md,执行git status验证。
4. 检查文件是否被标记为“assume unchanged”
Git的assume unchanged标记会让Git忽略文件的本地修改,执行以下命令检查:
git update-index --show-assume-unchanged README.md
若输出包含README.md,执行命令取消标记:
git update-index --no-assume-unchanged README.md
5. 重置本地仓库到远程状态
如果以上步骤无效,尝试重置本地仓库到远程最新版本,再重新修改:
git reset --hard origin/main
注意:该命令会丢弃所有本地未提交的修改,执行前确认无需保留本地变更。
内容的提问来源于stack exchange,提问作者Joshua Jabur
相关产品推荐
相关产品推荐

