快盘下载:好资源、好软件、快快下载吧!

快盘排行|快盘最新

当前位置:首页软件教程电脑软件教程 → Windows和Linux行尾换行符转换方法

Windows和Linux行尾换行符转换方法

时间:2022-11-07 20:40:52人气:作者:快盘下载我要评论

1 前言

最近在使用 Git 提交代码的时候;老是碰到一段看起来 “没有任何改动” 的代码;被 diff 检测出异常;很是苦恼;特别是项目紧急的时候;不敢用 VSCode 编辑了;只能用 vim 进行少量代码的修改、上库。

另一件事是 shell 脚本文件行尾换行符异常;导致在 linux 环境下无法正常运行;总是提示什么语法错误。

如果使用 VSCode ;可以通过右下角确认当前文件行尾换行符格式
Windows和Linux行尾换行符转换方法
另一种方法是;通过 vim 打开文件;使用如下命令;确认当前文件格式

# dos: Windows 行尾换行符格式
# unix: Linux 行尾换行符格式
set ff

行尾换行符

我直接用的 git bash 中的 vim 打开此文件;可以发现白色背景行直接提示出来了当前文件格式。

2 行尾换行符

在遇到之前的问题时;也去网上查了不少资料;下面几篇是我当时参考的

  • https://blog.csdn.net/lysc_forever/article/details/42835203
  • https://www.cnblogs.com/youpeng/p/11243871.html
  • 【Git官方文档】https://git-scm.com/book/zh/v2/%E8%87%AA%E5%AE%9A%E4%B9%89-Git-%E9%85%8D%E7%BD%AE-Git
  • https://blog.csdn.net/chaiyu2002/article/details/81261432

行尾换行符是什么?通过资料得知;就是文件每一行结尾的换行符号。

对于 Windows 系统来说;使用的 CRLF ;也就是 ;回车换行;。

但是对于 Linux 、Mac 来说;使用的为 LF ;也就是 ;换行;。

这两个符号的差异;会导致文件格式不同。

比如会导致 CRLF 的文件;想要在 Linux 系统执行;就会出问题。

举例来说;我在 Windows 下新建一个 Shell 脚本文件;行尾换行符是 CRLF 格式的;那么此时放到 Linux 系统执行;是会报错;无法执行的。

3 Git配置

我的实际开发环境是这样的;
1、本地电脑是 Windows 10 环境;使用 VSCode 开发;
2、代码存储、编译使用的 Linux 服务器;Ubuntu 16.04 环境;
3、Windows 与 Linux 环境下均安装 Git 管理工具;

此时就有两个环境的 Git 需要配置;目前我的配置如下;已经可以正常使用了;;;

Windows 环境下 Git 相关配置如下

# Windows 打开 autocrlf
# pull 时转换为 CRLF ;push 时转换为 LF
core.autocrlf=true

Linux 环境下 Git 相关配置如下

# Linux 环境关闭 autocrlf
core.autocrlf=false

# Linux 打开 safecrlf 配置;确保同一份文件只有一种统一的行尾换行符
# 如果不一致;diff 会提示差异
core.safecrlf=true

通过上述配置;这里就可以顺利的提交代码啦~

网友评论

快盘下载暂未开通留言功能。

关于我们| 广告联络| 联系我们| 网站帮助| 免责声明| 软件发布

Copyright 2019-2029 【快快下载吧】 版权所有 快快下载吧 | 豫ICP备10006759号公安备案:41010502004165

声明: 快快下载吧上的所有软件和资料来源于互联网,仅供学习和研究使用,请测试后自行销毁,如有侵犯你版权的,请来信指出,本站将立即改正。