Git中crlf自动转换的坑

新上手一个项目,克隆了代码下来搭环境,一路坑。其中一个sh脚本执行不了,报IOException,java日志除了“找不到文件或文件夹”之外看不出任何信息,手动运行脚本才发现是脚本编码有问题:

应该是有人用windows开发的,提交时未做crlf转换。我印象中git是会自动转换crlf的,为何还会出现这种问题呢?

在Git中一定要关注的crlf自动转换

GitHub 第一坑:换行符自动转换


如何解决:

  1. 使用dos2unix转换换行符为LF,反向转换请用unix2dos;

  2. windows用户做开发注意提交时换行符的变化,正确设置core.autocrlf,特别是使用WSL的时候;

  3. 大招:使用.gitattributes指明文件类型和换行符格式等。详见git-scm文档,模板在这里

参考: https://www.jianshu.com/p/fa4d5963b6c8

posted @   dylanchu  阅读(7903)  评论(0编辑  收藏  举报
编辑推荐:
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
阅读排行:
· 使用C#创建一个MCP客户端
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示
主题色彩