0


VSCode Git下来代码,修改无故多好多转行,导致Git diff修改了整个文件

VSCode Git下来代码,修改无故多好多转行,导致Git diff修改了整个文件

目录

问题描述

公司电脑是window系统,从github上拉取代码,修改一个文件,只是增加了三行代码,但是整个文件都改变了。导致commit的时候很混乱,上千行代码中找不到 我修改的那三行,给我难受的。

问题解决过程:

两个方面可能造成这个结果,一方面是Git,另一方面是vscode这个编辑器。哎呀我一直以为是Git的问题。因为之前用Mac的时候没有出现这个问题。

  1. Git提交文件,提示显示修改了整个文件,实际只操作了几行不同操作系统使用的换行符是不一样的。Unix/Linux使用的是LF,Mac后期也采用了LF,但Windows一直使用CRLF【回车(CR, ASCII 13, r) 换行(LF, ASCII 10, n)】作为换行符。而git入库的代码采用的是LF格式,它考虑到了跨平台协作的场景,提供了“换行符自动转换”的功能:如果在Windows下安装git,在拉取文件时,会自动将LF换行符替换为CRLF;在提交时,又会将CRLF转回LF。但是这个转换是有问题的:有时提交时,CRLF转回LF可能会不工作,尤其是文件中出现中文字符后有换行符时。 参考: git diff去除^M的方法 只改了一行代码,git diff显示整个文件都被修改了 Git提交文件,提示显示修改了整个文件,实际只操作了几行我修改了但是并没有解决我的问题。

  1. VSCode编辑器的问题 我发现我每次ctrl+S 目标文件总是莫名其妙的多一些转行和空格。 这是因为我这个项目是老项目,一些格式化还没用应用进去,导致会将文件大范围修改。这是要想不修改,就可以检查VSCode的配置问题。 我猜测是因为VSCode给我自动转行,格式化了。 修改方式:vscode->file->preference->setting->搜索format 将下面on Save去掉,不让其格式化。 截图---
标签: vscode git ide

本文转载自: https://blog.csdn.net/TJ_Helen/article/details/131899069
版权归原作者 TJ_Helen 所有, 如有侵权,请联系我们删除。

“VSCode Git下来代码,修改无故多好多转行,导致Git diff修改了整个文件”的评论:

还没有评论