首页 > 其他分享 >git 清除二进制文件的 changes 状态

git 清除二进制文件的 changes 状态

时间:2024-09-26 19:02:12浏览次数:7  
标签:reset 文件 git 二进制 hard -- lfs changes

问题:某个分支上修改了二进制文件,导致 changes 一直存在,切换到主分支也仍然存在,点击 Discard 也没用

使用 git reset --hard 还原到初始状态,也不行,不过输出结果会给出错误信息

Encountered 7 file(s) that should have been pointers, but weren't:

  

解决方法:

根据这个线索,搜索了相关案例(其实早就应该主要到这个提示了,折腾了很久

以下是解决方法:

Try the following command sequence:

git lfs uninstall
git reset --hard
git lfs install
git lfs pull

In case if this is not working (because this was not working for me), the following hack may work:

git rm --cached -r .
git reset --hard
git rm .gitattributes
git reset .
git checkout .

我用的是第二种方法,第一种会卸载 lfs,不太安全

不过我们也能看出来,跟 lfs 策略有关系

借助 Ai 解答

  1. git rm --cached -r .:从暂存区移除所有文件,但保留工作目录中的文件。
  2. git reset --hard:重置工作目录和暂存区,丢弃所有未提交的更改。
  3. git rm .gitattributes:删除 .gitattributes 文件,移除之前的 LFS 跟踪设置。
  4. git reset .:将工作目录中的文件状态恢复到最新提交的状态。
  5. git checkout .:确保工作目录的文件与当前分支的状态一致。

这种方法能有效地清理状态,确保没有未跟踪的文件和修改。

 

标签:reset,文件,git,二进制,hard,--,lfs,changes
From: https://www.cnblogs.com/strive-sun/p/18434088

相关文章

  • VB.net(C#同理)使用 ServiceStack.Redis 二进制存储、读取图像
    搜索了一下,网上似乎没有相关的内容,于是把自己探索的经验写一下。'安装提示:首先需要把当前的目标框架设置为.NetFramwork4.5。'方法一:复制ebay订单里的DLL\ServiceStack.Redis(整个文件夹),自行添加引用(4个dll)'方法二:使用Nuget安装servicestack.redis,选择5.0版本PublicClas......
  • Git 基本操作
    目录一、基本概念1、工作区域2、文件状态二、基本使用1、设置用户标识2、初始化仓库3、提交文件到暂存区4、提交到本地库5、推送到远程仓库5.1错误说明6、克隆三、分支操作1、查看分支2、创建分支3、切换分支4、合并分支5、删除分支6、上传分支四、替换本地改动五、......
  • Git-如何区分使用个人账户和公司账户
    个人日常编写点小玩具,code的版本控制一般托管于GitHub,但是公司内部使用GitLb来进行代码版本控制,这样为了能够在同一台MacBook(自带,公司有补贴)日常区分出两个账户,通过翻阅资料做了如下配置。操作环境MacBookGit(gitversion2.39.5)命令行终端SSH密钥生成在终端,使......
  • Github使用技巧
    1、怎么查找对应关系 一般查找对应关系,可以去阅读下面的说明: 2、0.20.Release版本不存在的问题如上图:根本不知道0.2.1.RELEASE对应的dubbo-spring-boot-start版本是多少,在maven仓库中根本没有这个版本解释:这里需要我们点击这个版本,然后就会跳转到这个代码上,如下图: ......
  • centos7二进制安装Hadoop3
    一、Hadoop简介1.1Hadoop3核心组件HDFS:分布式文件系统:解决海量数据存储YARN:集群资源管理和任务调度框架:解决资源任务调度MapReduce:分布式计算框架:解决海量数据计算1.2Hadoop集群简介Hadoop集群包括两个集群:HDFSYARN两个集群逻辑上分离(互不影响、互不依赖)物理上一......
  • hexo部署报错:Deployer not found: git
    一、报错将hexo部署到Github时发生Deployernotfound:git报错二、报错原因及解决方法报错原因在初次部署hexo时没有安装hexo-deployer-git插件导致部署时发生Deployernotfound:git报错 解决方法1.执行cnpminstallhexo-deployer-git--save或npminstallhexo-d......
  • GitLab 中文版如何升级到最新的 17.4?
    本文分享极狐GitLab17.4升级的详细步骤。今日,极狐GitLab17.4正式发布。新版本发布了几十项与DevSecOps相关的更新,包括项目管理、源代码托管、CI/CD、安全合规等。对于用户来讲及时升级到最新版本不仅能够第一时间体验到最新功能,更重要的是能够避免老旧版本存在的安全风险而遭......
  • 揭秘 Git-stash:掌握暂存技巧,让代码更整洁!
    stash可以冻结目前的状态‍在gitstash出现之前当我们在开发一个新功能的时候,突然来了一个紧急的bug要修复,此时我们可以创建一个分支去修复它;但如果,切换会导致冲突的话,就会切换失败。我们来模拟下(先确保工作区是干净的):$gitbranchbug02$echo"test">>3-branch/br......
  • Git 分支管理全攻略:一篇博客带你玩转代码分支!
    什么是分支?在Git里,分支其实就有点像一个树的枝杈,每个分支上可以有不同的文件的版本,并且不会互相干扰。​分支功能有什么用?在工作中,我们经常是需要和别人一起开发一个项目的,此时可能你开发A功能,别人开发B功能;如果只有一个分支的话,那么所有人都得在这个分支上干活;如果你开发......
  • 关于 GitHub 的奇技淫巧
    介绍下多年来使用GitHub所了解到的技巧‍学会看文档如何学习使用GitHub呢?最好的方式就是:阅读官网文档。官方文档通常比任何教程都全面、权威、准确。网上教程和文章满天飞,但都是建立在官方文档的基础上,一旦官方文档修改了,很难做到实时同步,就可能会让学习者感到困惑。对......