VSCode中未发生变化Git显示有差异

在 VSCode 中未发生变化,但 Git 显示有差异的原因及解决方法。

1、换行符不一致

不同的操作系统默认的换行符不同,Windows 使用\r\n, Linux 使用 \n,如果文件在不同的操作系统之间移动,可能会导致换行符不一致,从而显示为修改。可以通过修改.gitconfig 配置来解决:

第一种方式通过命令行修改
# 全局 Git 设置
git config --global core.autocrlf false
git config --global core.filemode false
git config --global core.safecrlf true
# 项目 Git 设置
git config --local core.autocrlf false
git config --local core.filemode false
git config --local core.safecrlf true
第二种方式直接修改 .gitconfig 文件

全局修改.gitconfig 文件,Windows 系统一般存放于 C: -> 用户 -> xxx -> .gitconfig [ C:Users/xxx/.gitconfig],在文件中加入以下配置

项目修改,找到当前项目的 .git 文件中 config 文件(左侧 Git 面板不显示隐藏文件 .git 可参考第 3 步中的files.exclude配置,去掉.git 文件夹),在文件中加入以下配置;

[core]
autocrlf = false
filemode = false
safecrlf = true
2、忽略文件权限

在 VSCode 的终端中执行以下命令来忽略文件权限问题

# 全局忽略
git config --global core.filemode false
# 局部忽略
git config --local core.filemode false
3、隐藏文件和文件夹

在 VSCode 的配置文件中搜索 files.exclude,检查是否有相关的文件或文件夹被排除在 Git 面板之外,并进行调整。

VSCode中隐藏文件和文件夹配置项