git的撤销与回滚【转载】

Github入门4 - 撤销与回滚 Table of Contents????Git 后悔药????基础药方: 分区看待,对症下药**♻️ 在工作区进行 Ctrl + Z**:**♻️ 在暂存区进行 Ctrl + Z**:**♻️ 在版本库进行 Ctrl + Z**:????高级药方:$ git reset 的三组药 [原文链接:Link] 转载请注明原作者 ????Git 后悔药 ????基础药方: 分区看待,对症下药 ​ (以下信息基本在 git status 中都有提示) ♻️ 在工作区进行 Ctrl + Z: 回滚工作目录 阅读详情

git的撤销与回滚

转载文章https://www.cnblogs.com/songgj/p/8965580.html

git的撤销与回滚在平时使用中还是比较多的,比如说我们想将某个修改后的文件撤销到上一个版本,或者是想撤销某次多余的提交,都要用到git的撤销和回滚操作。撤销分两种情况,一个是commit之前,一个是commit之后,下面具体看下这两种情况。

一.git commit之前

未添加到暂存区的撤销(没有git add)
添加进暂存区的撤销(git add后)

On branch test_git
Changes not staged for commit:     没有添加到暂存区
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
    modified: new_src/app/Http/Controllers/Frontend/KyHome/KyHomeUnitTrait.php
    modified: new_src/app/Http/Controllers/Frontend/KyHome/KyHomeWordFilterTrait.php

可以通过

git checkout -- filename来撤销修改
git checkout -- new_src/app/Http/Controllers/Frontend/KyHome/KyHomeWordFilterTrait.php

再次查看文件状态发现选择的文件已经成功被撤销了。

$ git status
On branch test_git
Changes not staged for commit:  
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)
    modified: new_src/app/Http/Controllers/Frontend/KyHome/KyHomeUnitTrait.php

如果想将多个文件一次性撤销可以用

 git checkout -- .

上面是 未添加到暂存区的撤销

下面是添加到暂存区的

$ git status
On branch test_git
Changes not staged for commit:
  (use "git add <file>..." to update what will be committed)
  (use "git checkout -- <file>..." to discard changes in working directory)

        modified:   new_src/app/Http/Controllers/Frontend/KyHome/KyHomeApp.php
        modified:   new_src/app/Http/Controllers/Frontend/KyHome/KyHomeComment.php
$ git add -A
$ git status
On branch test_git
Changes to be committed:    已经添加暂存区了
  (use "git reset HEAD <file>..." to unstage)

        modified:   new_src/app/Http/Controllers/Frontend/KyHome/KyHomeApp.php
        modified:   new_src/app/Http/Controllers/Frontend/KyHome/KyHomeComment.php

从暂存区撤销

$ git reset HEAD new_src/app/Http/Controllers/Frontend/KyHome/KyHomeApp.php
Unstaged changes after reset:
M       new_src/app/Http/Controllers/Frontend/KyHome/KyHomeApp.php

如果想一次性将所有暂存区文件撤销回来,还是上面的命令,不过不用加文件路径。

$ git reset HEAD
Unstaged changes after reset:

M       new_src/app/Http/Controllers/Frontend/KyHome/KyHomeApp.php
M       new_src/app/Http/Controllers/Frontend/KyHome/KyHomeComment.php

二.git commit之后

如果当commit提交后想撤销的话,这就需要revert命令。git revert 命令是撤销某次操作,而在此次操作之前和之后的提交记录都会保留。

先修改了几个文件然后commit 再用git log查看提交记录。

commit 2842c8065322085c31fb7b8207b6296047c4ea3
Author: songguojun <songgj@kingnet.sh>
Date:   Sat Apr 28 11:21:30 2018 +0800

    add content

然后使用revert 后面跟上git提交的commitid

git  revert 2842c8065322085c31fb7b8207b6296047c4ea3
Revert "add content"

This reverts commit 2842c8065ffe2085c31fb7b8207b6296047c4ea3.

# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
# On branch test_git
# Changes to be committed:
#       modified:   new_src/app/Http/Controllers/Frontend/KyHome/KyHomeApp.php
#       modified:   new_src/app/Http/Controllers/Frontend/KyHome/KyHomeComment.php

然后在推送到远端更新远程仓库代码,修改的文件就撤销回来了。注意的是revert奇数次生效,偶数次又回到之前的修改状态。比如一个文件内容是a,那么修改为ab,revert后文件变成了a,如果在revert后文件又还原成ab了。

还有就是如果想回到之前某个版本,可以用reset命令,可以回退到某次提交,那该提交之后的提交都会回滚,不过这种覆盖是不可逆的,之前的提交记录都没有了。所以平时开发中尽量注意,避免使用reset。

用法:

git  reset --hard  commit_id
  • –hard – 强制将缓存区和工作目录都同步到你指定的提交
git  reset --hard fdeb212a5418cc8e31f32d63cf197550297468ec
HEAD is now at fdeb212 增加mysql端口配置

然后在提交到远端覆盖。

↓↓↓↓↓↓↓↓
转载文章https://www.cnblogs.com/songgj/p/8965580.html

YOLOv11 改进策略 | HWD:引入 Haar 小波变换,减少信息丢失 在卷积神经网络(CNN)中,下采样(Downsampling)是降低特征图分辨率、扩大感受野的关键操作,通常通过最大池化(MaxPool)或步长为 2 的卷积(Strided Convolution)实现。然而,这些方法在降低分辨率的同时,往往会丢失图像中的高频细节信息(如边缘、纹理)和精确的空间位置信息,这可能对后续特征提取和目标检测精度产生不利影响,尤其是对于小目标和需要精细定位的任务。 阅读详情

相关推荐

QGIS中高效处理CAD数据的两种实用技巧

本文详细解析了在QGIS中高效处理CAD数据的两种核心方法。针对DWG/DXF文件在QGIS中直接打开失败的问题,介绍了使用QGIS内置数据导入管理器进行标准化转换的流程,并重点推荐了功能更强大的Another DXF Importer插件,以更好地保留文字、块属性等复杂信息。文章对比了两种方法的优劣与适用场景,并提供了坐标系设置、中文乱码等常见问题的避坑指南,帮助用户根据数据需求选择最佳导入策略。

weixin_28363123的博客 117

git 回退的三种方式

1、git reset --mixed 版本号 :此为默认方式,不带任何参数的git reset,即时这种方式,它回退到某个版本,只保留源码,回退commit和index信息 2、git reset --soft 版本号:回退到某个版本,只回退了commit的信息,不会恢复到index file一级。如果还要提交,直接commit即可 3、git reset --hard 版本号:彻底回退到某个版本,本地的源码也会变为上一个版本的内容 ...

bai_ye_的博客 3万+

PX4无人机实战:手把手教你用MAVROS实现Offboard模式(附避坑指南)

本文提供了一份详尽的PX4无人机Offboard模式实战指南,重点解析了如何通过MAVROS实现从仿真到实机的控制。内容涵盖硬件连接、串口权限设置、MAVROS配置、核心代码编写以及实机操作全流程,并附有详细的避坑指南和故障排查手册,帮助开发者快速掌握ROS与PX4飞控的集成开发。

weixin_29172201的博客 266

git代码撤销回滚只看这一篇就足够了!

git工具下的代码撤销和回滚操作是大家经常遇到的一个场景,本篇只单独讲一下这部分的应用。

凌大大的博客 3万+

Xiaojie雷达之路---使用CCS创建一个毫米波雷达的工程(AWR1843)

前些天,在工具箱中下载了一个基于毫米波雷达(AWR1843)自动停车的案例,并成果导入CCS中,可以完美运行,但是如何新建一个新的工程呢?这篇文章就会对其进行讲述。

XiaoJie的博客 4549

运用AD进行stm32最小系统PCB图的绘制

运用AD进行stm32最小系统PCB图的绘制一、PCB图的绘制(1)布局(2)布线(3)覆铜(4)电气规则检查二、给PCB添加logo三、生成garber文件总结 一、PCB图的绘制 (1)布局 1.画好原理图后,新建一个PCB项目 2.在Design中选择第二项,导入器件 3.先点击右下角第一项,再点第二项导入器件 导入成功 4.导入后效果 选择紫红色方框,按电脑上的delete键把它删掉 5.在Tools选择Outside Board,自动排布器件 排布后效果如图 6.画线,确定板子范围

lucario1的博客 2149

Git版本回退的两种方式及回退方式推荐

文章目录综述背景说明查看提交历史1 格式化2 筛选检索3 最近提交版本回退1 `reset`方法回退2 `revert`方法回退恢复回退 综述 本文档主要用于详细说明如何使用Git进行版本回退,主要包含四个方面: 背景说明 查看提交历史 版本回退 恢复回退 背景说明 在使用git版本控制进行开发的过程中,我们有时会出现错误提交的情况,存在误提交的时候怎么办呢?,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:reset复位、revert恢复。 查看提交历史 在提交了若干更新,

让编程改变世界 2万+

易灵思FPGA-软件Efinity和Modelsim联仿设置

文章目录前言一、modelsim破解过程二、使用步骤1.引入库2.读入数据总结欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智

qq_35221855的博客 5361

git回退代码的n种方式(全场景,restore reset revert)

git restore; git reset; git revert;命令的用法,全常见场景下代码的回退方式

bajiucoding 1万+

GD32H7 SPI驱动实战:手把手教你用SPI3连接外部Flash(W25Q128)并实现读写

本文详细介绍了基于GD32H7系列MCU的SPI3接口驱动W25Q128外部Flash的全流程开发指南。从硬件设计、引脚配置到SPI3外设深度配置,再到底层通信函数实现和高级功能优化,提供了完整的解决方案。特别针对高速读取、DMA传输和信号完整性等关键环节进行了优化,确保系统在-40℃~85℃范围内稳定工作。

weixin_28729205的博客 379

分布式光纤传感(DFOS)DTS/DAS/DSS 三合一:10公里管线监测实战与数据解读

本文详细介绍了分布式光纤传感(DFOS)技术在10公里管线监测中的实战应用,通过DTS(温度)、DAS(振动)、DSS(应变)三合一系统,实现对管线健康状态的立体感知。文章涵盖工程部署、数据采集、多物理量数据融合及噪声抑制等关键技术,展示了如何通过一根光纤完成复杂监测任务,显著提升管线安全性和维护效率。

weixin_29168153的博客 315

亡羊补牢,一文讲清各种场景下GIT如何回退

经过前面的学习,GIT的基本原理以及使用想必大家已经是门清了,但是在实际操作中,很多同学还是会有误操作的情况。本文就讲下各种场景下,代码如何在GIT中回退

战斧的博客 2万+

【目标跟踪】多目标跟踪的评价工具motmetrics怎么使用?

多目标跟踪,通过motmetrics测试评价对应的视频。

聿默的博客 5368

git撤销、回滚操作

开发过程中,你肯定会遇到这样的场景: 场景一: 糟了,我刚把不想要的代码,commit到本地仓库中了,但是还没有做push操作! 场景二: 彻底完了,刚线上更新的代码出现问题了,需要还原这次提交的代码! 场景三: 刚才我发现之前的某次提交太愚蠢了,现在想要干掉它! 撤销 上述场景一,在未进行g...

chuyan3936的博客 195

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

git 撤销与回滚记录

git commit 之前 未添加到暂存区的撤销即还没git add . git st现象: On branch master Changes not staged for commit: (use "git add <file>..." to update what will be committed) (use "git checkout -- <file>...

weixin_34124651的博客 685

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

git的撤销和回滚

转载自:https://blog.youkuaiyun.com/ligang2585116/article/details/71094887 场景一: 糟了,我刚把不想要的代码,commit到本地仓库中了,但是还没有做push操作! 场景二: 彻底完了,刚线上更新的代码出现问题了,需要还原这次提交的代码! 场景三: 刚才我发现之前的某次提交太愚蠢了,现在想要干掉它! 撤销 上述场景一,...

少油少盐不要辣 321

撤销 git merge

由于太多人问怎么撤销 merge 了,于是 git 官方出了这份教程,表示在 git 现有的思想体系下怎么达到撤销 merge 的目标。 方法一,reset 到 merge 前的版本,然后再重做接下来的操作,要求每个合作者都晓得怎么将本地的 HEAD 都回滚回去: $ git checkout 【行merge操作时所在的分支】 $ git reset --hard 【merge前的版本号...

weixin_34124939的博客 4926

git如何撤销某次提交记录

https://blog.youkuaiyun.com/lucky_ly/article/details/101394171 版权声明:本文为博...

6181

git 中 revert 的使用以及远程代码回滚流程

使用 git revert 撤销某次操作,这次操作之前的和之后的commit 和 history 都会保留,并且将这次的撤销 作为一次最新的提交。 git revert HEAD # 撤销前一次的 commit git revert HEAD^ # 撤销前前一次的 commit git revert commitid # 撤销指定的版本 git revert是提交一个新的版本,需要将re...

Enjolras_fuu的博客 4654

git revert、reset撤销

git reset 撤销 git reset 撤销_Fir trees island的博客-优快云博客_git reset 撤回git 撤销操作,git resetgit commit之后,想撤销commit写完代码后,我们一般这样$git status //查看并确定自己修改的文件有哪些$git add file_name //添加所有文件$git commit -m "本功能全部完成"执行完commit后,想撤回commit,怎么办?献上骚操作:$git reset --soft HEAD^这样就成

shuangrenlong的博客 534

Git的撤销与回滚

1,commit 之前的撤销 未添加至暂存区的撤销(add 之前) git status git checkout . 已添加至暂存区的撤销(add 之后,有或者没有commit操作都可以执行) git refloggit reset --hard bca6882(relog 中展示的commitId) 2,push之后的撤销 ( git a...

weixin_30885111的博客 101

git 撤销

撤销本地修改 [root@xuhx-02 git_project]# git status # 位于分支 master # 尚未暂存以备提交的变更: # (使用 "git add <file>..." 更新要提交的内容) # (使用 "git checkout -- &...

chungong2808的博客 260

Git代码回滚提交分支

Git reset

爬坑之路 3297
上一篇: 多个view横向排列的便捷方法
下一篇: git分支开发的原理【转载】
MarryLin2021
博客等级 码龄6年 12粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值