git撤销与回滚

git-rollback:轻松回滚提交 git-rollback 轻松回滚最后几次提交。 安装 $ gem install git-rollback 用法 $ git rollback 贡献 分叉( ) 创建功能分支( git checkout -b my-new-feature ) 提交更改( git commit -am 'Add some feature' ) 推送到分支( git push origin my-new-feature ) 创建一个新的拉取请求 立即下载

​​​​

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

  一.git commit之前

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

        添加进暂存区的撤销(git add后)

复制代码

$ 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
    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端口配置

然后在提交到远端覆盖。

别光看教程了!手把手带你用STM32F103C8T6最小系统板点亮第一个LED(附完整电路图) 本文详细介绍了如何使用STM32F103C8T6最小系统板点亮第一个LED,从硬件连接到软件开发环境搭建,再到编写和下载程序,手把手教你完成STM32入门的第一步。适合初学者快速上手STM32开发,附完整电路图和代码示例。 阅读详情

相关推荐

学Simulink--基于多能源系统协同与能源互联网的电网系统场景实例:风光氢储一体化系统的能量管理与调度仿真

在全球“双碳”目标驱动下,高比例可再生能源并网成为电网发展的核心方向。然而,风电与光伏具有强随机性与间歇性,给电网稳定运行带来巨大挑战。风光氢储一体化系统(Wind-Solar-Hydrogen-Storage Integrated System)通过将可再生能源发电电解水制氢氢气储存与燃料电池发电有机结合,构建了一个长时储能与能量形态转换的闭环系统,是实现能源互联网与零碳电力系统的关键路径。✅平抑波动:氢储能可实现跨天、跨周储能✅能量转化:电→氢→电/热/交通燃料,实现多能互补✅长时储能。

amy_mhd的博客 1073

idea git 撤销本地代码的修改(就是本地代码还原成服务上的最新代码)

以上是两种方法

m0_37641835的博客 6014

论文阅读------Exposure Fusion: A Simple and Practical Alternative to High Dynamic Range Photography

Mertens T, Kautz J, Van Reeth F. Exposure fusion: A simple and practical alternative to high dynamic range photography[C]//Computer graphics forum. Oxford, UK: Blackwell Publishing Ltd, 2009, 28(1): 161-171. 摘要 本文提出了一种将包围曝光的序列融合到高质量图像中的技术,而无需先转换为高动态范围(HD.

qq_25283239的博客 3398

GIT 撤销与回滚

git 相信大家都会用,但是大家有没有遇到过,不小心把不该提交的文件 commit 了 小编整理了一些我在开发中常见的使用场景,供大家参考 场景一 糟了,我刚把不想要的代码,commit到本地仓库中了,但是还没有做push操作 这种场景称为撤销 1 文件被修改了,但是还没有 git add git checkout fileName # 或者直接撤销当前目录下的全部文件 git checkout . 2 对文件执行了 git a...

qq_38150250的博客 3236

使用RepeatModeler和RepeatMasker注释基因组重复序列

重复序列注释有两种常用策略,基于同源序列相似性和基于重复序列结构特征。RepeatMasker是基于同源序列相似性注释序列的常用工具, RepeatModeler可用来从头对基因组的重复序列家族进行建模注释,它的核心组件是RECON和RepatScout。 这篇教程介绍如何使用RepeatModeler从头鉴定基因组的重复序列,之后用RepeatMasker根据自...

xuzhougeng blog 8854

Oracle EBS R12.2 安装 -- Step by Step

Oracle EBS R12.2 安装 -- Step by Step

Albert Tan DBA之路 1514

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

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

凌大大的博客 3万+

PADS Layout新手必看:从元件摆放到地线处理的10个实用技巧

本文为PADS Layout新手提供了10个实用技巧,涵盖元件摆放、地线处理等关键环节。从功能模块化布局到高频信号处理,再到电磁兼容性设计,帮助初学者快速掌握PCB设计核心技能,提升Layout效率和质量。特别适合需要优化PADS Layout工作流程的设计师参考。

stone的博客 258

关于IDEA中Git版本回滚整理

Git进行版本回退的操作

weixin_42329623的博客 1547

操作系统笔记【全-408统考】【附思维导图】

操作系统 思维导图 概述 操作系统的概念 管理计算机软件和硬件资源 最基本的系统软件 特征 并发 区分并发并行 共享 互斥共享方式 同时访问方式 虚拟 逻辑上多个。虚拟处理器的分时,空分复用的虚拟存储器 采用多道程序设计 异步 由于资源有限,进程走走停停 可能会导致进程产生与时间有关的错误。访问顺序 目的和功能 1.管理计算机资源 功能 处理机管理、存储器管理、文件管理、设备管理 目标:安全、有效 2.作为用户与计算机硬件系统

wvdon 2365

2026华为OD机试真题 9月27日 新系统 【均衡调度】

华为OD机试真题 新系统 9月27号【均衡调度】,提供C语言、Java、C++、Python、Go、JavaScript源码实现,并提供完整思路讲解,以及在线OJ模拟做题。华为OD机试真题 【均衡调度】多语言题解。

qq_45776114的博客 1770

Git撤销&回滚操作

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

李刚的学习专栏 30万+

手把手教你学PCIE(10.5)--PCIE故障排除方法的分步排查法介绍

通过以上分步排查法,你可以系统地诊断和解决 PCIe 设备的故障。每个步骤都有助于逐步缩小问题范围,最终找到并解决问题。

MHD0815的博客 1873

git撤销、回滚操作

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

codeinfo.top 339

数学建模模型总结

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

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Git 撤销&回滚

第一部分:撤销&回滚 1.Git add之前 撤回 git checkout [file] # 撤销工作区指定文件的修改 git checkout . # 撤销工作区所有的修改 2.撤回 Git add git reset HEAD # 撤回所有 Git add 的数据 git reset HEAD [file] # 撤回指定 Git add 的文件 3.撤回 Git commit 撤回到上一个commit,保留修改的内容 git reset HEAD^

木槿小凡的博客 575

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

git-代码撤销、回滚到任意版本(git回滚命令reset、revert的区别)

文章目录Git 代码撤销、回滚到任意版本(当误提代码到本地或master分支时)git回滚命令reset、revert的区别背景知识方法一:git reset(回退)方法二:git revert(反做) Git 代码撤销、回滚到任意版本(当误提代码到本地或master分支时) [转]Git 代码撤销、回滚到任意版本(当误提代码到本地或master分支时) 参考URL: https://www.cnblogs.com/wangcp-2014/p/11160125.html 情况一: 代码还只在本地,未push

西京刀客 2万+

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

git的撤销与回滚【转载】

git的撤销与回滚 转载文章https://www.cnblogs.com/songgj/p/8965580.html git的撤销与回滚在平时使用中还是比较多的,比如说我们想将某个修改后的文件撤销到上一个版本,或者是想撤销某次多余的提交,都要用到git的撤销和回滚操作。撤销分两种情况,一个是commit之前,一个是commit之后,下面具体看下这两种情况。 一.git commit之前 未添加到暂存区的撤销(没有git add) 添加进暂存区的撤销(git add后) On branch test_git

MarryLinDa的博客 715

[git]Git 撤销与 回滚操作

方式一:使用revert方式二:使用resetrevert是放弃指定提交的修改,但是会生成一次新的提交,需要填写提交注释,以前的历史记录都在;reset是指将HEAD指针指到指定提交,历史记录中不会出现放弃的提交记录。

qq_43331089的博客 697

Git代码回滚指南:如何优雅地撤销提交与推送

在Git中,代码回滚通常指的是撤销某次或某几次提交,将代码库恢复到之前的状态。本地提交的回滚:撤销本地的提交,通常发生在代码还未推送到远程仓库时。远程仓库推送的回滚:撤销已经推送到远程仓库的提交,通常需要谨慎操作,因为会影响其他开发者的代码。无论是哪种情况,Git都提供了多种方式来实现代码回滚。下面我们将分别介绍这些方法。Git提供了多种方式来实现代码回滚,开发者可以根据具体的需求选择合适的方式。对于本地提交的回滚,git reset和git revert是最常用的命令;对于远程仓库推送的回滚,

私聊前往站内信:https://i.youkuaiyun.com/#/msg/chat/weixin_44976692 3510

Git 撤销操作 / 回滚历史

撤销和回滚其实没啥区别,都是回到以前的某种状态,不过我还是分开写了,可能时因为口语习惯吧 撤销操作 git checkout -- <filename>,放弃文件的当前更改,回到最近一次的提交状态 git reset HEAD <filename>,取消暂存文件 git commit --amend,覆盖上一次的提交,虽然不是撤销操作,但有类似的效果 git rebase...

Cliff Rhine的博客 1425

Git使用小技巧之回滚和撤销

想要获取更多文章可以访问我的博客 - 代码无止境。 日常的开发,我们难免会创建错误的git提交记录,整个时候git给我们提供了两个命令来解决这个问题。一个命令是git reset,另一个是git revert。两者有啥区别呢?两者主要的区别是,git reset命令是回滚某次提交,被回滚的提交将不会出现在提交记录中,而git revert命令是创建一个新的提交来达到撤销的目...

代码无止境的博客 579

【git reset & git revert】git后悔药之回滚及撤销操作(图文详解)

git reset和revert操作

Hanson的博客 6846

git撤销/回滚操作

这里写自定义目录标题git撤销操作撤销本地(工作区)修改git checkout回滚版本git reset撤销版本提交git revert git撤销操作 撤销本地(工作区)修改git checkout git checkout [文件名] 操作 说明 git checkout [文件名] 撤销对该文件的修改,如果该文件已经通过git add 添加到暂存区,则git checkout [文件名] 则恢复暂存区的内容,要撤销到和当前版本一致,再次执行git checkout [文件名] 则恢

壮乡码农 1000

linux git 撤销删除文件,git 撤销回滚学习

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

weixin_31467557的博客 489
上一篇: JavaScript Date getTime() 方法
下一篇: jQuery中$.fn的用法
firstcode666
博客等级 码龄5年 53粉丝 20原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值