当前位置:   article > 正文

git中关于windows换行crlf与其他操作系统换行lf冲突_windows crlf git

windows crlf git

分析原因

git是一个分布式版本控制系统,可以运用到团队的开发管理。在团队开发中,无法避免会出现跨系统开发的情况,即团队成员有的人用的是Linux系统,有人用mac,有人用windows

使用windows系统,用git拉下代码启动后总会出现大量的 error Delete ␍ prettier/prettier报错。原因是windows系统默认换行符为 crlf,即 ‘\r\n’,而用git拉下来的项目管理在linux系统上,默认换行符为 lf,即 ‘\n’。

解决办法
1. 使用 git config --list 命令查看core.autocrlf配置项。

2. core.autocrlf配置项有三个值:true, false, input

例如远端LF与windows电脑CRLF:

  • true。远端->本地,LF->CRLF,本地->远端,CRLF->LF
  • false。远端->本地,LF->LF,本地->远端,CRLF->CRLF
  • input。远端->本地,LF->LF,本地->远端,CRLF->LF
3. 使用 git config --global core.autocrlf input 命令更改配置项

经过以上操作后,能保证拉取到本地的代码换行符与远端匹配,但是如果你使用vscode编辑拉取下来的代码,还要注意vscode编辑器本身的crlf配置规则。

直接拉取到本地后没什么问题,但是在vscode编辑器里启动时会报格式错误。

解决办法是下载一个插件:

再去根目录配置一个.editorconfig文件:给对应文件类型加上一句 end_of_line = lf,经过这样的配置后,对应文件类型的换行会按照lf进行换行。示例如下:

  1. # 顶部的EditorConfig文件
  2. root = true
  3. # unix风格的换行符,每个文件都以换行符结尾
  4. [*]
  5. end_of_line = lf
  6. insert_final_newline = true
  7. # 用大括号展开符号匹配多个文件
  8. # 设置默认字符集
  9. # 设置所有以.js,.py结尾的文件的编码格式
  10. [*.{js,py}]
  11. charset = utf-8
  12. # 使用空格缩进,设置4个空格缩进
  13. [*.py]
  14. indent_style = space
  15. indent_size = 4
  16. # 使用制表符(tab)缩进
  17. [Makefile]
  18. indent_style = tab
  19. # 设置lib目录下的所有JS的缩进风格(使用空格缩进,缩进占用两个空格的位置)
  20. [lib/**.js]
  21. indent_style = space
  22. indent_size = 2
  23. # 匹配确切文件 package.json或.travis.yml
  24. [{package.json,.travis.yml}]
  25. indent_style = space
  26. indent_size = 2
本文内容由网友自发贡献,转载请注明出处:【wpsshop博客】
推荐阅读
相关标签
  

闽ICP备14008679号