首页 > 其他分享 >Git因换行符不一致导致反复有修改记录

Git因换行符不一致导致反复有修改记录

时间:2024-07-13 19:30:27浏览次数:15  
标签:core git autocrlf 修改 Git CRLF 换行符

前情


Git(读音为/gɪt/)是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理,我公司目前都是基于Git来管理项目代码。

坑位


最近刚刚入职一家新公司,本地环境都配好后,我git clone代码后,只是简单的浏览了代码,发现git就有了修改记录,而且是整个文件都是被修改了,一看只是换行符不同。

Why?


这个问题是由于不同的操作系统使用不同的换行符导致的。例如,Windows 系统使用 CRLF(回车换行)作为换行符,而 Linux 和 MacOS 系统使用 LF(换行)作为换行符。

解决方案


我们只要修改Git的配置即可

方案1:

打开命令行,执行如下命令即可:

Git 有一个全局配置项叫做 core.autocrlf,它可以控制 Git 在提交和检出时是否对换行符进行转换。它有三个可选值:

  • true:表示在提交时将 CRLF 转换为 LF,在检出时将 LF 转换为 CRLF 。这个选项适合 Windows 用户使用。
  • input:表示在提交时将 CRLF 转换为 LF,在检出时不进行转换。这个选项适合 Linux 和 MacOS 用户使用。
  • false:表示不进行任何转换。这个选项适合想保持原始换行符不变的用户使用。
git config --global core.autocrlf [input | true | false]

方案2:

也可以直接修改.git/config文件

[core]
  autocrlf = [input | true | false]

方案3:

除了 core.autocrlf 之外,还有一个配置项叫做 core.eol(end of line),它可以指定仓库中文件使用哪种换行符。它有三个可选值:

  • lf:表示仓库中文件使用 LF 作为换行符。
  • crlf:表示仓库中文件使用 CRLF 作为换行符。
  • native:表示仓库中文件使用当前操作系统默认的换行符。
git config --global core.eol [lf | crlf | native]

方案4:

也可以直接修改.git/config文件

[core]
  eol = [lf | crlf | native]

总结

上面4种方案其实是二种方式,一种是怎么转换换行符,一种是怎么规定用哪一种换行符,我选择的是第一种autocrlf为false,不管换行符问题,其实最的方式是团队规定统一用一种换行符

标签:core,git,autocrlf,修改,Git,CRLF,换行符
From: https://www.cnblogs.com/xwwin/p/18300528

相关文章

  • Python 修改 pip 源为国内源
    1.临时换源:#清华源pipinstallmarkdown-ihttps://pypi.tuna.tsinghua.edu.cn/simple#阿里源pipinstallmarkdown-ihttps://mirrors.aliyun.com/pypi/simple/#腾讯源pipinstallmarkdown-ihttp://mirrors.cloud.tencent.com/pypi/simple#豆瓣源pipinstallm......
  • 使用git进行日常开发
    在项目开发中,Git是一个非常重要的版本控制工具。以下是Git常用的功能及其典型的工作流程:常用功能初始化仓库(gitinit)创建一个新的Git仓库。克隆仓库(gitclone)从远程仓库复制项目到本地。检查状态(gitstatus)查看当前仓库的状态,包括已修改但未提交......
  • 在 PostgreSQL(简称 pg)数据库中,普通用户修改自己的密码可以通过 SQL 命令完成?可以
    查看权限ALTERUSERusernameWITHPASSWORD'newpassword';如果你是以普通用户身份登录,通常你只能更改自己的密码,而不能更改其他用户的密码。在PostgreSQL中,普通用户通常拥有的权限取决于他们在数据库中的角色和分配给他们的权限。数据库管理员(DBA)可以为不同的用......
  • Git 的基本概念和使用方式
    Git是一种分布式版本控制系统,它被广泛应用于软件开发和其他需要版本控制的领域。Git由LinusTorvalds在2005年创建,最初是为了帮助管理Linux内核的源代码。Git的设计旨在提供高性能、数据完整性以及支持非线性开发流程的能力。Git的基本概念仓库(Repository):Git仓......
  • git教程--常用命令
    1.git:分布式版本控制工具二.安装配置1.在git官网下载git文件,安装时选择好安装路径后直接一路Next就行2.安装完成后在桌面点击鼠标右键,找到GitBashHere后点击,进入窗口,输入 git--version查看版本号三、Linux常用命令1.GitGui是一个git的可视化工具2.GitBash是在Windo......
  • 9、IDEA集成Github
    9.1、登录Github账号9.1.1、打开IDEA的Settings界面如上图所示,打开IDEA的Settings(设置)界面。9.1.2、使用账号密码登录(方式一)如上图所示,在“VersionControl”->“Github”中,点击“+”按钮,在登录弹窗中,输入GitHub的账号密码直接登录。注意:该方式可能由于境外网络问题,登录G......
  • git设置代理, git clone无法连接github怎么办?MAC SSH如何连接github
    1.临时设置打开GitBash,使用命令临时设定socks代理:gitconfig--globalhttp.proxy'socks5://127.0.0.1:10808' gitconfig--globalhttps.proxy'socks5://127.0.0.1:10809'或者http代理:gitconfig--globalhttp.proxy'http://127.0.0.1:10809'#最......
  • git切换远程仓库地址
    git更换远程仓库地址三种方法总结一、前言由于之前项目管理使用私服的gitlab,现在换成了Gitea,需要修改远端仓库地址。二、环境windows10gitversion2.34.0.windows.1三、帮助文档GitHub文档四、三种修改方法方法一:不删除远程仓库修改(最方便)#查看远端地址git......
  • 【原创】Transformer多输入多输出回归预测,基于Transformer多输入多输出回归预测,Matlab
    %清空环境变量warningoff%关闭报警信息closeall%关闭开启的图窗clear%清空变量clc%清空命令行%%导入数据res=xlsread('数据.xlsx');%%数据分析num_size=0.8;%训练集占数据集比例outdim=3;%最后3列为输出num_samples=size(res,1);%样......
  • Git 的基本概念和使用方式
    Git是一个版本控制系统,它可以跟踪和管理代码的修改历史。下面是Git的一些基本概念和使用方式的解释:仓库(Repository):Git仓库是存储代码的地方。可以在本地计算机上创建一个本地仓库,也可以在代码托管平台(如GitHub、Bitbucket)上创建一个远程仓库。仓库可以包含代码及其历史记录。......