git 换行问题_git 换行符问题

最近在windows下使用Git,发现不时没有修改过的文件要提交,对比发现文件全部修改,但找不到不一样的地方,Baidu后怀疑是换行符的问题,因为Windows和Linux的换行符不一样,这个和git客户端配置有关系,如果每个人客户端配置不一样同样会出现该问题.

关于不同系统的换行符问题:

UNIX/Linux : 0x0A(LF), Mac OS:0x0D(CR),后来的 OS X 在更换内核后与 UNIX 保持一致了。

DOS/Windows : 0x0D0A(CRLF)作为换行符。

关于编码和换行符设置在安装“Git for windows”的时候,在“Configuing the line ending conversions”页面其实已经给出了提示

说明里已经标的很清楚了:

1.Checkout Windows-styl,commit Unix-style line endings

签出时LF转为CRLF  core.autocrlf=true

2.Checkout as-is ,commit-Unix-style line endings

签出时不改变任何内容,提交时CRLF替换为LF core.autocrlf=input

3.checkout as-is,commit as-is

签出签入都不做任何转换保持原样 core.autocrlf=false

指令设置

1.修改git设置 core.autocrlf=input.检出时不转换,提交转换为lf,这样可以避免提交windows换行符的情况.如果是在当前仓库要求 把--global去掉即可。

git config --global core.autocrlf input

2.拒绝提交包含混合换行符的文件

git config --global core.safecrlf true

TortoiseGit设置:

由于使用的是VS比较无法看到换行符效果这里使用TortoiseGit进行比较,在比较窗口的右下角可以看到编码 换行格式等信息

测试环境WIN10+VS2013+TFS2015+GIT 2.10.1

在VS2015中设置后依然无法提交的问题,直接全部不检测不转换(只在windows单平台的时候可以这样操作哦)

git config --global core.autocrlf falsegit config--global core.safecrlf false

原文参考:

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值