github通过raw下载文件注意换行符问题

问题

我们在使用github的时候,有时候遇到一些文件想要下载但是又不想clone整个项目,可以选择在点击文件右上角的Raw按钮来下载文件,但是这种下载是有问题的。

GitHub 的服务器默认使用类 Unix 行尾(LF),这是 Linux/macOS 的标准。

即使原始仓库是 CRLF(Windows 格式),在 Raw 模式下也会被转换成 LF

这可能会导致 Windows 用户在某些编辑器或脚本运行中遇到问题(尤其是 .ps1.bat 脚本)

如果使用notepad++打开显示行尾符,可以看到结尾显示的是LF。一般情况下这种现象很难被发现,因为换行符号都是不可见的。对于换行符敏感的文件,这个就非常重要。

解决办法

  • 可以通过下载项目的zip压缩包,在本地解压后来获取里面的文件。

  • 或者使用git clone来获取整个项目。

通过下载克隆整个项目来获取文件也是无奈之举,目前没有发现更好的方法

  • 通过添加.gitattributes文件来设置指定格式的文件换行符
# 所有 .bat 文件强制使用 CRLF(Windows 脚本)
*.bat text eol=crlf

# Git 完全不要管理某些文件的行尾,可以用 binary
# (即 Git 把它当二进制,不会做 LF/CRLF 转换)
*.bat binary
posted @ 2025-05-26 15:45  雨中遐想  阅读(59)  评论(2)    收藏  举报