Git多平台换行符问题

简介: Git多平台换行符问题

Git 的多平台换行符问题(LF or CRLF)

Windows下文本文件所使用的换行符是CRLF,而Linux/UNIX/macOS用的是LF。

使用Git的时候,默认当我们拉取远程文件的情况,会将LF格式的文件转换为CRLF格式的,在推送到远程时会进行一次转换将其变为LF格式推送上传。但这会在跨平台开发的时候造成一些问题,比如会影响正常diff的结果导致无法使用。

解决方法

在Git的工程根目录下增加.gitattributes文件。

在其中增加* text=auto eol=lf一行。这能保证Windows协作者在拉取时文件不会被转成CRLF格式。

我这个工程的 .gitattributes 文件内容如下:

* text=auto eol=lf
# Files with Unix line endings
*.py    text    eol=lf
*.js    text    eol=lf
*.jsx   text    eol=lf
*.json  text    eol=lf
*.sh    text    eol=lf

# Binary files
*.bin    binary

Pycharm的设置

现代的IDE或文本编辑器对于换行符都已经有了很好的支持。

设置在 File - Settings - Editor - Code Style

Scheme选择Project即代表该设置只对本项目工程生效。

General - Line separator选择Unix and macOS (\n)

参考链接:

目录
相关文章
|
移动开发 Linux 开发工具
git diff ^M不同操作系统下换行符统一的小知识
不同操作系统下的换行不一致,当一个项目的开发者分别再linux/mac/win下做了代码提交改动之后,使用git diff命令时,可能会发现,即便啥也没改,当时有很多变动,显示^M的差别 主要原因就是换行的问题 解决这个问题的一个办法就是统一换行 今天介绍的一个小技巧就是通过设置全局的换行来实现多操作系统的换行符统一
1040 0
|
4天前
|
算法 Java BI
云效产品使用报错问题之平台上导出的统计数据和 git 中使用命令导出的数据统计都对不上,如何解决
本合集将整理呈现用户在使用过程中遇到的报错及其对应的解决办法,包括但不限于账户权限设置错误、项目配置不正确、代码提交冲突、构建任务执行失败、测试环境异常、需求流转阻塞等问题。阿里云云效是一站式企业级研发协同和DevOps平台,为企业提供从需求规划、开发、测试、发布到运维、运营的全流程端到端服务和工具支撑,致力于提升企业的研发效能和创新能力。
|
4月前
|
Linux Shell 开发工具
Git 安装和配置教程:Windows - Mac - Linux 三平台详细图文教程,带你一次性搞 Git 环境
Git是一款免费、开源的分布式版本控制系统,广泛应用于软件开发领域。随着开源和云计算的发展,Git已经成为了开发者必备的工具之一。本文将为大家介绍Git在Windows、Mac和Linux三个平台上的安装和配置方法,带你一次性搞定Git环境
1592 0
|
6月前
|
存储 Linux Go
【git】安装体验Gitea 代码托管平台
【git】安装体验Gitea 代码托管平台
205 0
|
10月前
|
开发工具 git
如何把其他代码托管平台git仓库迁移到github还保留历史日志记录?图解步骤,值得收藏!
我在其他的代码托管平台(不是github)有一套代码,不同代码托管平台之间没有相互迁移的功能,怎么将仓库代码提交到github仓库呢?我会讲解适合于所有不同托管平台Git仓库之间的迁移方法,所以就不要老是抱怨着为什么没有外部仓库迁移过来的功能了。
220 0
如何把其他代码托管平台git仓库迁移到github还保留历史日志记录?图解步骤,值得收藏!
|
数据可视化 程序员 开发工具
git命令记不住?可视化git操作平台Sourcetree入门教程
git命令记不住?可视化git操作平台Sourcetree入门教程
151 1
git命令记不住?可视化git操作平台Sourcetree入门教程
|
安全 小程序 测试技术
分享Git常见的项目托管平台
今天给大家分享Git常见的项目托管平台,大家一起来看看吧!
分享Git常见的项目托管平台
|
前端开发 开发工具 git
Typera+Node.js+Git搭建托管于远端的写作平台(GitBook)(下)
Typera+Node.js+Git搭建托管于远端的写作平台(GitBook)(下)
121 0
Typera+Node.js+Git搭建托管于远端的写作平台(GitBook)(下)
|
JavaScript 开发工具 git
Typera+Node.js+Git搭建托管于远端的写作平台(GitBook)(上)
Typera+Node.js+Git搭建托管于远端的写作平台(GitBook)(上)
164 0
Typera+Node.js+Git搭建托管于远端的写作平台(GitBook)(上)
|
开发工具 git
设置使用git命令行的3种平台的环境
设置使用git命令行的3种平台的环境
207 0
设置使用git命令行的3种平台的环境