VSCODE打开工程显示所有文件已修改,与git实际修改项不符

B站影视 港台电影 2025-03-07 15:23 2

摘要:小杨的恶作剧;回车符等字符格式或编码格式问题;文件权限变动问题;

vscode 源代码管理工具

打开工程发现代码管理工具数值报表,猜测可能原因:

小杨的恶作剧;

回车符等字符格式或编码格式问题;

文件权限变动问题;

1、略。

2、检查编码及格式

我使用的方法是,clone对比的git工程到本地,使用beyond compare软件的Hex模式对比vscode现实的已修改实际未修改的文件,若显示有差异,说明存在格式或编码问题。

🙌 解决方法 🍿:

① 换行符差异

Git 提供了core.autocrlf配置选项,用于自动处理不同操作系统之间的换行符差异(例如,Windows 使用\r\n,而 Linux 和 macOS 使用\n)。在终端输入git config --global core.autocrlf true命令,git会忽略工程换行符的差异。其中--global表示全局设置,省略该标识,指令配置只在当前工程生效。

② 编码格式差异

建议统一编码格式:例如将所有 GB2312 编码的文件转换为 UTF-8 编码,在终端输入iconv -f GB2312 -t UTF-8 outputfile。

3、检查文件权限

对比本地文件和git文件的权限,查看权限指令:ll

终端输出:-rwxrwxrwx 1 chain chain 976 1月 14 14:42 README.md*,其中,-rwxrwxrwx表示文件README.md的权限。对比git重新clone的工程和本地工程的权限差异。

🙌 解决办法 🍿:

① 修改文件权限

chmod 644 README.md*,即修改文件权限为所有者有读写权限,组和其他用户只有读权限。但文件太多,可能不同的文件权限也不同,建议使用方法②。

② 忽略文件权限差异

终端输入:git config --global core.fileMode false。其中--global表示全局设置,省略该标识,指令配置只在当前工程生效。

来源:小火科技论

相关推荐