我的Git stash不小心清空了怎么办,提了代码能反悔吗

news2024/11/25 7:43:35

文章目录

  • 1. 前言
  • 2. git stash清空场景
  • 2. git stash clear后如何还原
  • 3.Git撤销已经推送(push)至远端仓库的信息

1. 前言

本文总结的知识很实用哈,虽然是git工具的不常用操作,但是绝对不是冷知识,学会可以从会用git升级到git高手。
主要是两种场景的解决方案:git stash记录清空后如何还原? git commit代码后如何还原?

2. git stash清空场景

我经常用git stash这个命令,因为我负责项目的打包升级工作,有时候需要升级项目版本,但是本地做了一些修改又不想升级到远端(改动不多也没必要拉个新分支),这个时候git stash暂存本地的修改真是太香了,等打完包再通过git unstash将暂存的代码恢复到本地就可以了,无需重启。
那么问题来了,我不是直接通过命令行操作的,在idea编辑器上有个客户端可以操作,每次stash都会让起个别名留下一行stash记录方便后期恢复代码,慢慢的我这里记录太多了,轻微强迫症的我看不得太多冗余数据,某次unstash的时候不小心带你了个清空,当时手太快了,清空了发现上午写的代码都stash了还没恢复呢,一声叹息啊!
在这里插入图片描述

2. git stash clear后如何还原

  1. 首先,在控制台输入
git fsck --lost-found

在这里插入图片描述

  1. 然后根据上述命令看到的记录:dangling commit xxxidxxx,输入以下命令,查看该id的具体内容
git show xxxxidxxxx

在这里插入图片描述
这里就是之前删除的git stash暂存的信息,包含暂存的日期、别名(我的是0309)和暂存的文件列表信息,如果不是我们想要的,就只能挨个看看所有的dangling commit记录了,这里我还没找到捷径。
当找到你想要恢复的提交数据后,将id复制,输入如下命令进行恢复

git merge xxxxidxxxx

执行完后,之前的代码就恢复了。我本来以为这里的还原相当于git unstash把代码恢复到本地了,想错了。
恢复之后效果是相当于已经commit了,但是还没push到远程仓库,但是有些本地的修改是我改着玩的,不能推送,所以还得把这个commit恢复回来。

3.Git撤销已经推送(push)至远端仓库的信息

这个场景也很常见,偶尔误提交了代码怎么办呢?需要进行三步操作:

  1. 首先,通过git log查看提交信息,以便获取需要回退至的版本号(适用于错误代码已经push到远端的场景):
    在这里插入图片描述
    这里需要回退至的版本号是:4d70e000d79cb556528f99908d63e03796bd2c46。
  2. 然后,通过git reset --soft <版本号>重置至指定版本的提交,达到撤销提交的目的:
$ git reset --soft 4d70e000d79cb556528f99908d63e03796bd2c46

参数soft指的是:保留当前工作区,以便重新提交 //如果上次提交的不全,要在上次基础上添加东西用soft
还可以选择参数hard,会撤销相应工作区的修改,一定要谨慎使用//如果上次提交的东西不要了可以选这个
这一步撤销了commit消息(还没push到远端仓库)
2. 撤销
对于已经push到远端仓库的情况,需要通过git push origin master –force强制提交当前版本号,以达到撤销版本号的目的,必须添加参数force进行强制提交,否则会提交失败,因为此时本地项目版本号低于远端仓库版本号:

$ git push origin master
To github.com:hanchao5272/myreflect.git
 ! [rejected]        master -> master (non-fast-forward)
error: failed to push some refs to 'git@github.com:hanchao5272/myreflect.git'
hint: Updates were rejected because the tip of your current branch is behind
hint: its remote counterpart. Integrate the remote changes (e.g.
hint: 'git pull ...') before pushing again.
hint: See the 'Note about fast-forwards' in 'git push --help' for details.

3.回退成功了,本地可以修改代码,重新提交和推送啦

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Centos7 安装Mysql8.0

1、到指定目录下下载安装包[rootVM-0-14-centos ~]# cd /usr/local/src2、下载mysql8[rootVM-0-14-centos src]# wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.20-linux-glibc2.12-x86_64.tar.xz3、解压mysql8, 通过xz命令解压出tar包&#xff0c; 然后通过t…

KDZD耐电压高压击穿强度测试仪

一、技术参数 01、输入电压&#xff1a; 交流 220 V。 02、输出电压&#xff1a; 交流 0--50KV ; 直流 0—50kv 。 03、电器容量&#xff1a;3KVA。 04、高压分级&#xff1a;0—50KV&#xff0c;&#xff08;全程可调&#xff09;。 05、升压速率&#xff1a;0.1KV/s-…

c++11 标准模板(STL)(std::unordered_map)(八)

定义于头文件 <unordered_map> template< class Key, class T, class Hash std::hash<Key>, class KeyEqual std::equal_to<Key>, class Allocator std::allocator< std::pair<const Key, T> > > class unordered…

【C++】你不得不爱的——继承

凡是面向对象的语言&#xff0c;都有三大特性&#xff0c;继承&#xff0c;封装和多态&#xff0c;但并不是只有这三个特性&#xff0c;是因为者三个特性是最重要的特性&#xff0c;那今天我们一起来看继承&#xff01; 目录 1.继承的概念及定义 1.概念 2.继承的定义 2.基类…

Linux进程学习【进程地址】

✨个人主页&#xff1a; Yohifo &#x1f389;所属专栏&#xff1a; Linux学习之旅 &#x1f38a;每篇一句&#xff1a; 图片来源 &#x1f383;操作环境&#xff1a; CentOS 7.6 阿里云远程服务器 Perseverance is not a long race; it is many short races one after another…

Dynabook笔记本电脑无法开机怎么重装新系统?

Dynabook笔记本电脑无法开机怎么重装新系统&#xff1f;有用户使用Dynabook笔记本电脑出现了无法正常开机的情况。遇到这样的问题是我们的电脑系统出现了损坏&#xff0c;可以尝试进行系统修复。如果无法修复的话&#xff0c;就需要进行系统重装了。以下为大家带来Dynabook笔记…

SQLMap安装教程

注意&#xff1a;在python3环境下安装sqlmap的时候会提示需要在python2的环境下才能安装&#xff0c;其实在python3.6以后也都支持sqlmap了。 sqlmap安装步骤&#xff1a; 一、下载python&#xff1b; 下载地址 https://www.python.org/downloads/ 下载教程参考&#xff08…

通过反射获取注解的属性值(内含源代码)

通过反射获取注解的属性值&#xff08;内含源代码&#xff09; 源代码下载链接地址&#xff1a;https://download.csdn.net/download/weixin_46411355/87554543 目录通过反射获取注解的属性值&#xff08;内含源代码&#xff09;源代码下载链接地址&#xff1a;[https://downl…

做互联网自媒体创业的月薪收入真的能过万吗?

搞自媒体创业有前途吗&#xff1f;收入月薪过万是真的吗&#xff1f; 自媒体创业是一种新兴的创业方法&#xff0c;它的远景十分广阔。自媒体创业能够让人们在自己的兴趣爱好和专业范畴上发挥自己的才能&#xff0c;一起也能够获得不错的收入。可是&#xff0c;月薪过万并不是…

ArangoDB——AQL编辑器

AQL 编辑器 ArangoDB 的查询语言称为 AQL。AQL与关系数据库管理系统 (RDBMS)区别在于其更像一种编程语言&#xff0c;更自然地适合无模式模型&#xff0c;并使查询语言非常强大&#xff0c;同时保持易于读写。数据建模概念 数据库是集合的集合。集合存储记录&#xff0c;称为文…

三维人脸实践:基于Face3D的人脸生成、渲染与三维重建 <三>

face3d: Python tools for processing 3D face git code: https://github.com/yfeng95/face3d paper list: PaperWithCode 基于BFM模型&#xff0c;估计3DMM的参数&#xff0c;可以实现线性的人脸表征&#xff0c;该方法可用于基于关键点的人脸生成、位姿检测以及渲染等。推荐…

信息收集之搜索引擎

Google Hacking 也可以用百度&#xff0c;不过谷歌的搜索引擎更强大 site 功能&#xff1a;搜索指定域名的网页内容&#xff0c;可以用来搜索子域名、跟此域名相关的内容 示例&#xff1a; site:zhihu.com 搜索跟zhihu.com相关的网页“web安全” site:zhihu.com 搜索zhihu…

提升学习 Prompt 总结

NLP现有的四个阶段&#xff1a; 完全有监督机器学习完全有监督深度学习预训练&#xff1a;预训练 -> 微调 -> 预测提示学习&#xff1a;预训练 -> 提示 -> 预测 阶段1&#xff0c;word的本质是特征&#xff0c;即特征的选取、衍生、侧重上的针对性工程。 阶段2&…

C++核心编程

一、内存分区模型概述&#xff1a;C程序在执行时&#xff0c;将内存划分为4个区域程序运行前&#xff1a;代码区&#xff1a;存放函数体的二进制代码&#xff0c;由操作系统管理①共享。共享的目的是对于频繁被执行的程序&#xff0c;在内存中只需有一份代码即可②只读。使其只…

组合预测 | MATLAB实现EMD-KPCA-LSTM、EMD-LSTM、LSTM多输入单输出回归预测对比

组合预测 | MATLAB实现EMD-KPCA-LSTM、EMD-LSTM、LSTM多输入单输出回归预测对比 目录 组合预测 | MATLAB实现EMD-KPCA-LSTM、EMD-LSTM、LSTM多输入单输出回归预测对比预测效果基本介绍模型描述程序设计参考资料预测效果 基本介绍 MATLAB实现EMD-KP

传输层协议 TCP UDP

目录 协议前菜 端口号 ​编辑端口号范围划分 认识知名端口号(Well-Know Port Number) netstat pidof 传输层协议 UDP协议 UDP协议端格式 UDP的特点 面向数据报 UDP的缓冲区 UDP使用注意事项 基于UDP的应用层协议 TCP协议 TCP协议概念 TCP协议段格式 标志…

深度分析中国高端投教市场第一股“九方财富”的投资价值

来源&#xff1a;猛兽财经 作者&#xff1a;猛兽财经 猛兽财经获悉&#xff0c;九方财富&#xff08;09636&#xff09;已于3月10在港交所成功IPO上市&#xff0c;并成为了“中国在线高端投教市场第一股”。 作为中国领先的在线投资决策方案提供商&#xff0c;九方财富…

一起来学习配置Combo接口吧!

Combo接口是一个光电复用的逻辑接口&#xff0c;一个Combo接口对应设备面板上一个GE电接口和一个GE光接口。电接口与其对应的光接口是光电复用关系&#xff0c;两者不能同时工作&#xff08;当激活其中一个接口时&#xff0c;另一个接口就自动处于禁用状态&#xff09;&#xf…

常用存储芯片-笔记本上固态硬盘PTS11系列推荐

在存储领域中&#xff0c;除了存储颗粒之外&#xff0c;还有一种极其重要的芯片&#xff1a;存储控制芯片。存储控制芯片是CPU与存储器之间数据交换的中介&#xff0c;决定了存储器最大容量、存取速度等多个重要参数。特别是在AI、5G、自动驾驶时代&#xff0c;对于数据处理及存…

2.HTML页面组成

html页面组成html简介-基础-元素html属性-标题-段落html链接-头部-图像html表格-列表-区块html表单-框架-颜色html字符实体-url前言&#xff1a; 在学习爬虫前&#xff0c;我们还需要了解HTML页面&#xff0c;学习它的组成部分以及各部分的意思和使用方法&#xff0c;代码我放在…