Windows/Linux系统换行符不一致导致git diff全红色,看不出来修改了哪里

在Ubuntu开发的代码在Windows的Visualstudio2017中打开时,自动将LF换行符转换为CRLF,导致gitdiff显示大量差异。解决方案包括设置git的autocrlf配置或在Visualstudio中更改文件的换行符设置为LF。手动修改少量文件的换行符以匹配Linux系统的标准。
摘要由CSDN通过智能技术生成

背景

在各操作系统下,文本文件所使用的换行符是不一样的。UNIX/Linux使用的是 LF;DOS/Windows使用 CRLF作为换行符。

问题:

组内在Linux系统(Ubuntu)开发的代码,我在Windows上使用Visual studio 2017打开时,它自动将LF转成了CTLF… 导致我git diff时一片红,大几百行的代码根本看不出来修改了哪里。

解决方案:

解决方案1:git 配置autocrlf(但还是红,只是在提交时帮你转换)

链接: link

解决方案2:用集成开发工具(visual studio为例)将换行符改回来。。。

官方行尾换行符设置
既然是它给我改过去的,那就用它改回来。。反正我文件不多,一个个地手动改一下吧

步骤1:

若“文件”选项里有“高级保存选项”,则直接设置为LF即可:
直接设置
若没有“高级保存选项”,执行步骤2~5把它调出来。

步骤2:

依次选择“工具”和“自定义”。

步骤3:

依次选择“命令”选项卡和“菜单栏”单选按钮,然后从相应的下拉列表中选择“文件”。 选择“添加命令”按钮。

步骤4:

在“添加命令”对话框中的“类别”,选择“文件”,然后在“命令”列表中,选择“高级保存选项” 。 选择“确定”按钮

步骤5:

执行步骤1

另外:我总共修改了仨文件,提交前需要git diff这仨,手动改也就还行,

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
当您使用`git diff`命令查看Git提交之间的差异时,发现结果显示的内容不完整或者缺失某些文件的部分变动,这可能是由于以下几个原因: 1. **忽略规则**:您的`.gitignore`文件可能包含了部分文件或目录,导致`git diff`忽略了它们。检查一下是否需要调整 `.gitignore` 文件以包含更多显示的文件。 2. **二进制文件**:对于大型二进制文件(如图片、音频或数据库),默认的文本比较可能会显示不完整。在这种情况下,可以尝试添加 `--no-index` 或 `-b` 参数来强制使用内容比较,或者对二进制文件单独处理。 3. **暂存区的区别**:如果当前工作区和提交之间有未暂存的更改,`git diff`将只显示已提交的变更。先运行 `git add .` 将所有更改添加到暂存区再试试看。 4. **分支/历史深度**:如果`diff`的范围不够,比如只对比了最近的一次提交,可能看不到更早的更改。增加`git log`的范围,如 `git diff HEAD~n` 可以查看更多的版本差异。 5. **合并冲突**:如果存在未解决的合并冲突,`git diff`会显示冲突部分而不是完整的修改。需要先解决冲突再进行差异查看。 6. **代码编辑器插件影响**:有些IDE或代码编辑器可能在渲染`git diff`结果时做了特定处理。关闭这些插件或使用纯命令行工具确认差异是否完整。 如果上述情况都不是问题,您可以提供具体的`git diff`命令及其返回信息,以便进一步排查。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Always Believe ...

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值