关于Git的CRLF

2019-06-27  本文已影响0人  冷师傅_

引子

我在Review同事提交的PR的时候,发现strings.xml改动并不大,就是改了一个字母而已,但Github却把整个文件给Diff了,类似下图:

heihei.png

原因

我们的项目初始开发是在Windows平台的,而Windows平台的结束一行是由两个字符组成:回车\r换行\n,对应CRLF。而OS X平台的结束一行则是由单个字符回车\r完成,对应LF。当本地的切换行编码和Repo端不一致的话,必然就会引起大面积的Diff

解决方案

  1. 让本地的Repo和远端Repo使用同一套切换行编码,要么是Windows版的CRLF,要么是OS X平台的LFAndroid Studio自带切换, A5D1644A-0291-48C2-944F-05CFF63A74A2.png

2.使用Git自带的切换设置,注意:Git是默认远端RepoLF的.

# 查看Git对结束行编码的设置,
# git config --config core.autocrlf 
# false:本地不做任何处理,和远端Repo保持一致
# input:只在提交的时候,做CRLF ----> LF 转换,签出的时候不做转换
# true:提交的时候做CRLF ----> LF转换,从远端更新的时候做 LF ----> CRLF 转换。
上一篇下一篇

猜你喜欢

热点阅读