首页
Javascript
Html
Css

Node.js

Electron
移动开发
小程序
工具类
服务端
浏览器相关
前端收藏
其他
关于
公司注册

svn转git,文件hash值不同电脑不一样

2019年06月12日 发布 阅读(1985) 作者:Jerman

项目从svn迁到git了,遇到的一个坑:

前端工程化打包,会给每个js\css\img文件名添加一个hash值,svn下这个一点问题没有,迁到git后,hash值在不同的电脑上总是不一样

那是什么原因呢?也许你还会发现,有些本来没有修改过的文件,在”git status”时也提示有修改,需要提交。

原因: 换行符的问题。windows和linux下的换行符是不一样的,windows下是CRLF,linux下默认下是LF,git默认下是使用linux换行符。git在提交时,会把CRLF转换成LF

要避免这个问题,可以把git的core.autocrlf关掉

  1. git config --global core.autocrlf false

注意:这里一定要是--global,使用--local是不行的,而且各个电脑上都必须关掉core.autocrlf。在clone项目之前,必须先关掉core.autocrlf

如果在别的电脑上项目已经clone下来了,需要重新clone一下,否则还是会有问题

core.autocrlf

提交时转换为LF,检出时转换为CRLF

  1. git config --global core.autocrlf true

提交时转换为LF,检出时不转换

  1. git config --global core.autocrlf input

提交检出均不转换

  1. git config --global core.autocrlf false

SafeCRLF

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

  1. git config --global core.safecrlf true

允许提交包含混合换行符的文件

  1. git config --global core.safecrlf false

提交包含混合换行符的文件时给出警告

  1. git config --global core.safecrlf warn
版权声明:本站文章除特别声明外,均采用署名-非商业性使用-禁止演绎 4.0 国际 许可协议,如需转载,请注明出处