git diff ^M不同操作系统下换行符统一的小知识

简介: 不同操作系统下的换行不一致,当一个项目的开发者分别再linux/mac/win下做了代码提交改动之后,使用git diff命令时,可能会发现,即便啥也没改,当时有很多变动,显示^M的差别主要原因就是换行的问题解决这个问题的一个办法就是统一换行今天介绍的一个小技巧就是通过设置全局的换行来实现多操作系统的换行符统一

不同操作系统下的换行不一致,当一个项目的开发者分别再linux/mac/win下做了代码提交改动之后,使用git diff命令时,可能会发现,即便啥也没改,当时有很多变动,显示^M的差别


主要原因就是换行的问题


解决这个问题的一个办法就是统一换行


今天介绍的一个小技巧就是通过设置全局的换行来实现多操作系统的换行符统一


git config --global core.autocrlf true
复制代码


因为Linux和Mac都是使用LF ,Windows 则是CRLF,所以在我们按下回车换行时,虽然肉眼的展示效果一致,当时实际上却是不一样的


  • windows: CRLF = \r\n
  • mac/linux: lf = \n


GitHub建议你应该只用\n来做为新行的开始,当然建议只是建议;一个原则就是我们希望可以统一,一分代码,不管在什么操作系统下,表现一致(包括换行、编码等)

使用core.autocrlf参数,设置为ture时,Git可以在你提交时自动地把行结束符CRLF转换成LF,而在签出代码时把LF转换成CRLF


Linux或Mac系统使用LF作为行结束符,因此你不想Git在签出文件时进行自动的转换;当一个以CRLF为行结束符的文件不小心被引入时你肯定想进行修正, 把core.autocrlf设置成input来告诉Git在提交时把CRLF转换成LF,签出时不转换

git config --global core.autocrlf input



相关文章
|
开发工具 git
git diff 生成patch合入代码
git diff 生成patch合入代码
467 0
|
IDE Unix Linux
Git多平台换行符问题
Git多平台换行符问题
170 0
|
开发工具 git
【Git】Git 基础命令 ( 添加暂存文件 git add | 提交文件至版本库 git commit | 查看版本库状态 git status | 查询文件修改 git diff )(二)
【Git】Git 基础命令 ( 添加暂存文件 git add | 提交文件至版本库 git commit | 查看版本库状态 git status | 查询文件修改 git diff )(二)
114 0
 【Git】Git 基础命令 ( 添加暂存文件 git add | 提交文件至版本库 git commit | 查看版本库状态 git status | 查询文件修改 git diff )(二)
|
开发工具 git
【Git】Git 基础命令 ( 添加暂存文件 git add | 提交文件至版本库 git commit | 查看版本库状态 git status | 查询文件修改 git diff )(一)
【Git】Git 基础命令 ( 添加暂存文件 git add | 提交文件至版本库 git commit | 查看版本库状态 git status | 查询文件修改 git diff )(一)
344 0
【Git】Git 基础命令 ( 添加暂存文件 git add | 提交文件至版本库 git commit | 查看版本库状态 git status | 查询文件修改 git diff )(一)
|
开发工具 git
Git Diff中文乱码问题
在命令行查看git的diff,碰到GBK编码的文件时,中文显示会是乱码。 原因:git diff的输出使用less,而less不支持gbk编码 解决方案:通过将git diff的输出放到一个支持gbk的编辑器中就可以了 以下是使用不通的编辑器查看`git diff`的办法。 Vim ```shell git diff | vim -R - ``` MacVim
3794 0
|
开发工具 git
git diff 命令 输出解读
# 数据准备 $ vi rainbow.txt $ cat rainbow.txt This is my rainbow. Everybody has his own rainbow.
2142 0
|
数据可视化 开发工具 git
Git - 使用命令和P4Merge进行diff
P4Merge P4Merge是Git的一个第三发Diff和Merge工具(可视化冲突解决工具). 下载地址: https://www.perforce.com/downloads/visual-merge-tool 安装的时候只需要勾选p4merge即可: 然后需要把p4merge的路径添加到环境变量PATH里面.
1743 0
|
开发工具 git
Git学习第七课 查看已暂存和未暂存的更新(git diff)
使用git status命令可以查看文件的状态。但是,显示出来的文件信息并不是特别详细。我们想要查看更加详细的文件状态信息,可以使用命令git diff。
1183 0