文件一直处于修改状态 git checkout 无法还原的问题解决方法

问题描述

  • 最近在 RT-Thread 时,使用 Git 回退版本验证问题,后来 git pull 拉取最新代码后,发现里面有几个文件,一直为【修改】状态,并且无法还原,git checkout xxx git reset --hard 都用了,依旧无法还原文件,也就是几个文件一直处于【修改】状态

  • 通过 file xxx 查看,这些文件是以回车换行符结尾的。

  • 通过 git add 发现这几个文件由于回车换行引起,全文件都提示修改,但是为何 git checkout 不能恢复呢?

在这里插入图片描述

解决思路

  • 为了还原恢复这几个【顽固】的被修改文件,我尝试了几种方法

第一种方法

  • git reset --hard commit_id,这里的 commit_id 要改为这几个文件提交前的 位置,在一些git 提交记录达到 几千几万的时候,这个方法很低效,并且可能还需要多次尝试

  • 总结:不如直接拉取工程代码来的实惠。

第二种方法:

  • 删除工程,重新拉取新的代码。

  • 总结:不推荐,这样的操作,当前工程下一些未提交的本地代码就丢掉了。

第三种方法

  • 推荐的方法:安装 dos2unix 工具,当前确认在 Linux 环境下,测试通过

  • 如果没有 dos2unix,需要安装 $ sudo apt install dos2unix

  • 操作流程

$ dos2unix bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_dac12.h
$ dos2unix bsp/imxrt/libraries/MIMXRT1170/MIMXRT1176/drivers/fsl_lpadc.h
$ git reset --hard
  • 以上操作后,再次运行 git status,发现【顽固】的已修改文件消失了,问题解决

在这里插入图片描述

小结

  • 遇到因为回车换行造成的文件修改,并且使用 git checkout 或者 git reset --hard 都无法还原的文件的时候,建议使用 dos2unix 把文件改为 unix 格式,再配合 git reset --hard

  • git 使用起来还是比较的高效方便,便于代码的管理,一些高级的操作,可以慢慢积累

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/19760.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

简单两步创建nVisual建筑场景

nVisual是一款网络基础设施可视化管理软件,通过模型可规划即将建设的机房效果,或者将已有的机房场景复刻至系统中,便于运维管理者清晰的了解机房设备及线缆路由连接关系。 数据初始我们需要将数据中心场景复刻至系统中,建筑场景也…

【Java】抽象类与接口

文章目录 1.抽象类1.1抽象方法 2.接口3.抽象类和接口的区别3.1代码中区分:3.2设计层面区分 在面向对象编程中,抽象是非常重要的一个特征。在Java中可以通过抽象类或接口的形式实现这一特性。 1.抽象类 Java关键字 abstract对应抽象类的使用 1.1抽象方法…

Calico的BGP打通Kubernetes网络和局域网

1、项目背景 随着云原生技术的不断发展,容器化应用已成为企业构建云原生架构的重要方式。而随着集群规模不断扩大,跨主机通信的需求也越来越重要。在 Kubernetes 集群中,Pod 是最小的调度和管理单位,而网络也是 Kubernetes 中最重…

二叉树OJ

文章目录 二叉树OJ根据二叉树创建字符串思路示例代码 二叉树的层序遍历思路示例代码 二叉树的层序遍历 II思路示例代码 二叉树的最近公共祖先思路1示例代码1思路2示例代码2 二叉搜索树与双向链表思路1示例代码1思路2示例代码2 迭代实现二叉树的三种遍历前序遍历思路示例代码 中…

哪些蓝牙耳机戴久不疼?长时间佩戴不疼的蓝牙耳机推荐

现在的真无线耳机已经成为了人们的标配之一了,各个厂家也紧随其后,生产出了多种无线耳机,不少人的选购蓝牙耳机一般都是对音质、佩戴和连接,但通常人们佩戴蓝牙耳机都是在半天左右,小编专门整理了一期舒适度高的耳机&a…

ElasticSeach 集成 springboot

声明是ElasticSearch? ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎, 基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是 当前流行的企业级搜索引擎…

Unity 坐标系

一、左手坐标系与右手坐标系 常见的三维软件都采用笛卡尔坐标系,也就是常见的xyz轴坐标系。笛卡尔坐标系可以是左手坐标系也可以是右手坐标系,如下图所示 两种坐标系是镜像对称的。而Unity采用左手系,且xyz轴的默认方向与图中的左手系完全一…

便携式车用CAN分析仪

产品简介 USBCAN-C系列便携式车用CAN分析仪,通过USB接口快速扩展一路CAN通道,使接入CAN网络非常容易,它具有一体式和小巧紧凑的外形,特别适合于随身携带。CAN接口采用金升阳电源模块和信号隔离芯片实现2500V DC电气隔离&#xff0…

KVM存储池管理与磁盘格式

KVM存储池管理与磁盘格式 KVM必须配置一个目录作为存储磁盘镜像(存储卷)的目录,我们称这个目录为存储池 存储池管理 默认存储池 /var/lib/libvirt/images/ 创建基于文件夹的存储池(目录) mkdir -p /data/vmfs定义…

WhatsApp如何让客户参与变得更简单?

WhatsApp对你的品牌来说可能和Twitter和Facebook一样重要,你可能已经把它们纳入你的社交媒体战略。 是的,WhatsApp不仅仅可以用来给同事发短信或与远方的亲戚视频聊天,它也适用于商业。 在发展WhatsApp业务时,小企业主得到了最优…

【网络】Socket编程-UDP篇

文章目录 预备知识源IP地址和目的IP地址源MAC地址和目的MAC地址源端口号和目的端口号"端口号port" 和 "进程ID"认识TCP/UDP协议网络字节序 Socket编程sockaddr结构API接口 简单的UDP网络程序服务器server服务端创建套接字:socket函数**socket的底层原理** …

Unity学习笔记 关于Unity相机的FOV以及水平FOV和垂直FOV之间的转换

前言 关于FOV FOV 是在任何给定时间通过人眼、相机取景器或在显示屏上可见的可观察世界的范围。它指的是整个区域的覆盖范围,而不是单个固定焦点。FOV 还描述了一个人可以看到可见世界的角度。 FOV 越宽,可以看到的可观察世界就越多。它是水平、垂直和对…

使用 OpenCV 进行基于 ESP32 CAM 的目标检测和识别

概述:基于 ESP32 CAM 的目标检测和识别 本教程介绍了使用OpenCV基于 ESP32 CAM的目标检测和识别主题。OpenCV 是一个开源的图像处理库,不仅在工业界而且在研发领域都得到了非常广泛的应用。 这里对于对象检测,我们使用了cvlib 库。该库使用 COCO 数据集上的预训练 AI 模型…

JSON-框架的具体使用

JSON-框架的具体使用 非 SpringBoot 项目 Jackson Jackson 是另一个流行的JSON序列化和反序列化库,具有以下特点 速度快:Jackson 采用了高效的JSON解析算法和字节码生成技术,使得其序列化和反序列化速度非常快。支持全类型序列化&#xff1…

4年外包终于上岸,我只能说别去....

我大学学的是计算机专业,毕业的时候,对于找工作比较迷茫,也不知道当时怎么想的,一头就扎进了一家外包公司,一干就是4年。现在终于跳槽到了互联网公司了,我想说的是,但凡有点机会,千万…

C语言-【移位操作符详解】

这篇文章主要介绍了C语言中移位操作符,文章中通过详细的代码以及有关计算机中零碎的知识点对移位操作符进行了一个更好的解释,需要的小伙伴们可以一起学习学习吖~ 移位操作符:移动的是补码的二进制序列。 在C语言当中,有两种移位…

「OceanBase 4.1 体验」|OCP Express

文章目录 一、简介二、特性介绍2.1 数据库管理2.2 数据库可观测性 一、简介 OCP Express 是一个基于 Web 的 OceanBase 4.x 轻量化管理工具,作为 OceanBase 数据库的工具组件,它集成在 OceanBase 数据库集群中,支持数据库集群关键性能指标查看…

一个月内面了30家公司,薪资从18K变成28K,真行啊····

工作3年,换了好几份工作(行业流行性大),每次工作都是裸辞。朋友都觉得不可思议。因为我一直对自己很有信心,而且特别不喜欢请假面试,对自己负责也对公司负责。 但是这次没想到市场环境非常不好,…

一文搞懂Go错误链

0. Go错误处理简要回顾 Go是一种非常强调错误处理的编程语言。在Go中,错误被表示为实现了error接口的类型的值,error接口只有一个方法: type error interface {Error() string } 这个接口的引入使得Go程序可以以一致和符合惯用法的方式进行错…

【SpringCloud01】

SpringCloud01 1.认识微服务1.0.学习目标1.1.单体架构1.2.分布式架构1.3.微服务1.4.SpringCloud1.5.总结 2.服务拆分和远程调用2.1.服务拆分原则2.2.服务拆分示例2.2.1.导入Sql语句2.2.2.导入demo工程 2.3.实现远程调用案例2.3.1.案例需求:2.3.2.注册RestTemplate2.…