每天都要开心(▽)哇:
最近写代码,工程配置为lf格式,但是拉取代码后,代码都变成了CRLF,于是满屏幕报错
- 在做跨平台开发移植的时候,最常见的问题就是不同操作系统的换行不同(例如,Windows 上是 CRLF,而 Linux 上是 LF,MacOS 以前是 CR,现在也是 LF),如果不注意的话,可能会导致编译的时候报诡异的错误,我们新建的项目是LF格式,我们商定觉得,以LF格式为主
- 使用git拉取代码的时候,git会自动将代码当中与你当前系统不同的换行方式转化成你当前系统的换行方式,从而造成这种冲突
- 在解决项目问题之前,先配置一下这个:修改git全局配置,禁止git自动将lf转换成crlf
git config --global core.autocrlf false
解决方案如下:
- 1.我们配置了.editorconfig
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
-
2.下载 UNIX2DOS工具
点击下载
-
3.解压到我们喜欢的路径下,比如我解压到这里C:\jin_env
-
4.配置环境变量-把刚刚解压的那个路径写进去哦
-
5.新开一个cmd 窗口, 输入path,看到我们设置的路径就代表着成功,试一把~
-
6.开启我们的编辑器的自动保存功能-这个仅作为建议哦~~
具体如何开启自动保存功能,我会在下一篇文章里写哇~~ -
7.进入项目根文件,打开其路径下的cmd 窗口,根据你文件的格式,进行修改下面命令即可
ps:建议不要包含node_modules文件 -
将 CRLF 转为 LF; *.vue *.js表示匹配相应文件后缀;
for /R %G in (*.vue *.js *.ts *.svg *.json *.css *.scss) do dos2unix "%G"
- 将 LF 转为 CRLF
for /R %G in (*.vue *.js *.ts *.svg *.json *.css *.scss) do unix2dos "%G"
- 如果遇到这个报错’unix2dos’ is not recognized as an internal or external command,operable program or batch file.那就是你没有安装配置好dos2unix
- 8.大功告成
欢迎大家指出文章需要改正之处~
学无止境,合作共赢