虚心使人进步

虚心学习,天天向上......
posts - 198, comments - 160, trackbacks - 0, articles - 2
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

git windows和mac换行符冲突问题

Posted on 2020-01-10 11:08  Showker  阅读(482)  评论(0编辑  收藏

遇到这两个错误, 基本上都是叫你将 autocrlf 设置为 false. 但是我觉得这样很不妥。

 

如果你的源文件中是换行符是LF,而autocrlf=true, 此时git add就会遇到 fatal: LF would be replaced by CRLF 的错误。有两个解决办法:

1. 将你的源文件中的LF转为CRLF即可【推荐】

2. 将autocrlf 设置为 false

 

如果你的源文件中是换行符是CRLF,而autocrlf=input,  此时git add也会遇到 fatal: CRLF would be replaced by LF 的错误。有两个解决办法:

1. 将你源文件中的CRLF转为LF【推荐】

2. 将autocrlf 设置为true 或者 false

 

我的建议:在Mac上设置 autocrlf = input, 在Windows上设置autocrlf = true(默认值)。

----------------------------------------------------------------------------------------------------------------------------------

这样的话,

Windows:(true)

提交时,将CRLF 转成 LF再提交;

切出时,自动将LF 转为 CRLF;

 

MAC/Linux: (input)

提交时,   将CRLF 转成 LF再提交;

切出时,保持LF即可

 

这样即可保证仓库中永远都是LF. 而且在Windows工作空间都是CRLF, 在Mac/Linux工作空间都是LF.