首页 > 其他分享 >git项目换行符LF与CRLF不同导致的更新问题

git项目换行符LF与CRLF不同导致的更新问题

时间:2023-05-13 16:55:05浏览次数:40  
标签:LF 文件 git CRLF 提交 换行符

转载自jiayaoO3O's Blog

遇到的问题

在windows中git clone一个代码仓库,拷贝到ubuntu环境下,出现了所有文件都被git记录已更改的问题,但肉眼看不出来文件不同。

原因是windows中默认换行用的CRLF(回车+换行),而linux环境下默认用的LF(换行),于是所有文件都被标注被更改。

解决方法

git有一个autocrlf配置,可以在我们提交时自动转换换行符,它有3个选项:

  • true: 提交时转换为 LF,检出时转换为 CRLF
  • false: 提交检出均不转换
  • input: 提交时转换为LF,检出时不转换

另一个设置项safecrlf用于检查文件是否包含着混合换行符,也有3个选项:

  • true: 拒绝提交包含混合换行符的文件
  • false: 允许提交包含混合换行符的文件
  • warn: 提交包含混合换行符的文件时给出警告
    所以,如果我们要将已经加入git的大量CRLF结尾文件批量转换成LF结尾的文件,可以这样设置:
git config --global core.autocrlf input
git config --global core.safecrlf warn

这样设置之后,先将项目提交一次,这样所有的文件就都会被改成LF结尾.

标签:LF,文件,git,CRLF,提交,换行符
From: https://www.cnblogs.com/BriMon/p/17397683.html

相关文章

  • 使用 IDEA 时突然断电导致 git 本地分支损坏的解决方案
    使用IDEA提交项目的时候突然断电,重启后项目git损坏,所有文件变成了untracked,IDEA界面上表示为所有文件名变成绿色,并且无法pull(也可能是无法push)提示GitPullFailed         Fromhttp://*****************         *branch     ......
  • Rocky 9 Linux 软件安装 neovim 和 git
    目录编辑器Neovim版本控制工具GitRHEL系列软件安装介绍软件安装包简介源码包安装rpm包安装yum&dnf在线安装脚本安装包rockyLinux介绍软件安装我主要挑了编辑器neovim和版本管理控制工具Git进行介绍。通常情况,部署完Linux发行版,自带vim工具,既然有了vim,那就来点新的......
  • LFS - Linux From Scratch 从零开始全记录 - 1 准备篇
    上次折腾LFS已经是好几年前了,只记得最后用VMware引导成功了,好多技术细节已经不记得了。趁着最近有空,再来折腾一次。这一次用的一台新的Win10PC,目标是在一个U盘上构建LFS,然后用U盘引导物理机,顺便记录一下整个过程。准备阶段下载虚拟机、Ubuntu镜像下载安装Microso......
  • Git常用命令总结
    前言最近将电脑中的许多未提交代码准备整理到Github仓库中,发现许多git命令忘记了,在此记录并复习一下常用的git命令。常用gitinit查看状态gitstatusgitstatus--short暂存修改到缓存区gitadd<file_name>gitadd.提交gitcommit-m<message>gitcommit--......
  • Git仓库的代码统计
    可以使用以下命令来查看几天来个文件的代码量:gitlog--pretty=tformat:--numstat--since="2023-05-10"--until="2023-05-12"其中,–since和–until参数分别指定了统计的起始日期和结束日期。这个命令会输出每个文件的添加和删除行数,您可以通过awk命令来计算总行数。如果您......
  • git 断本地连接,重联新的连接
    查看远程连接gitremote-v取消与远程库的连接gitremoteremoveorigin初始化仓库(生成.git文件夹)gitinit连接新仓库gitremoteaddorigin(url)检查状态gitstatus检查分支gitbranch创建新分支并切换gitcheckout-b(xxx)提交到本地gitadd提交加注释gitco......
  • git提交规范 fix,feat等字段含义
    feat:新功能(feature)fix:修补bugdocs:文档(documentation)style:格式(不影响代码运行的变动)refactor:重构(即不是新增功能,也不是修改bug的代码变动)chore:构建过程或辅助工具的变动revert:撤销,版本回退perf:性能优化test:测试improvement:改进build:打包ci:持续集......
  • django系列-git远程仓库配置
    一、本地配置0.为什么要设置本地配置有一些不希望别人同步代码时看到的配置,可以放在local_settings.py中,通过配置gitignore实现1.创建gitee仓库 网站手动创建2.gitignore配置在项目中创建一个.gitignore的文件,在里面写上文件名或文件夹,可以git忽略一些文件,不要进行版本控......
  • git初始化项目仓储
    CommandlineinstructionsGitglobalsetupgitconfig--globaluser.name"用户名"gitconfig--globaluser.email"git账号"Createanewrepositorygitclone服务器仓储地址cdtesttouchREADME.mdgitaddREADME.mdgitcommit-m"addREADME......
  • git忽略文件.gitignore
    ##IgnoreVisualStudiotemporaryfiles,buildresults,and##filesgeneratedbypopularVisualStudioadd-ons.#User-specificfiles*.suo*.user*.sln.docstates#Buildresults[Dd]ebug/[Rr]elease/x64/build/[Bb]in/[Oo]bj/#MSTesttestResults[Tt]est[Rr]es......