`

git回退历史

阅读更多
自己在前面的几篇中讲到用svn来回退历史是比较麻烦的。其中提到用git是比较方便的。

git的话,只需要用下 git revert <commit-name> 就可以了。

同样的需求,有人会问,我怎么把当前自己的修改去掉呢?

同样的,介于git的复杂程序,要分下面几种情况来分析:

  • 如果你的修改已经在commit历史里面了,那么一种方式就是直接使用revert命令,但是某些人有洁癖,因为revert的命令会产生一个新的commit,这个commit的动作时将所指定的commit取消掉,因此,某些人可能更希望直接修改某个历史上的commit,或者去除掉它。现在我们假设你的前面第三commit取消删除,那么可以这么来做: git rebase -i HEAD~3 然后这个命令会默认帮我们开启一个编辑器,在编辑器里面把所需要取消的commit删除即可,十分简单明了。删除了就没有了哦。  不过要记住,如果你的这些历史已经发布到外面,即别人已经pull过了的话,那么使用这种直接修改的方式是非常不推荐的,因为别人还要rebase,或者强制checkout。别人会火大的哦。
  • 如果你的修改在cache里面。也就是说还没有到历史里面,那么就简单了,git reset就可以了。但这个reset只会把修改从cache里面移除。如果你想进一步操作,那么请看下面这个。
  • 如果你的修改就在本地,也没有在git的cache里面。但是你不需要这些修改,那么有几种方法: a) git reset --hard HEAD 注意,修改就真的没有了哦,找不到了,亲。 b) git stash 这个会临时放到一个地方,如果想找回,只需要使用 git stash apply 即可。
分享到:
评论

相关推荐

    详解IDEA git分支回退指定的历史版本

    主要介绍了详解IDEA git分支回退指定的历史版本,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    git 命令的收集以及总结分享学习

    git命令 git 命令的收集以及总结 git操作指令 版本回退 ...穿梭前,用git log可以查看提交历史,以便确定要回退到哪个版本。 要重返未来,用git reflog查看命令历史,以便确定要回到未来的哪个版本。

    git 基本命令整合

    git 基本命令整合 Git基本常用命令如下:  git init 把当前的目录变成可以管理的git仓库,生成隐藏.git文件。  git add 文件/(* 目录内所有文件) 将... git reset --hard HEAD git文件版本号 回退到上一个版本

    Git-2.20.1-64-bit.exe,zip

    可以在该保存点将多人提交的源码合并, 也可以回退到某一个保存点上。   3、Git离线操作性:Git可以离线进行代码提交,因此它称得上是完全的分布式处理,Git所有的操作不需要在线进行;这意味着Git的速度要比SVN等...

    Java进阶版本管理工具Git全套视频教程

    6.8 回退至历史版本 6.9 文件删除 6.9.1本地删除与恢复 6.9.2从版本库删除 6.9.3从版本库删除,但是不删除本地 6.10 忽略提交 7. Git 的基本使用02-TortoiseGit 操作本地仓库(分支) 7.1 分支的概念 7.2 为何要使用...

    Git入门到精通视频.zip

    06回退历史.mp4 07版本穿越.mp4 08还原文件.mp4 09删除文件.mp4 10工作区、暂存区、本地库.mp4 11分支介绍.mp4 12分支相关命令.mp4 13冲突介绍.mp4 14GitHub介绍.mp4 15GitHub操作.mp4 16GitHub操作2.mp4 17协作冲突...

    Linux运维-04-日志分析-日志监控ELK-day03-生产案例及Git版本控制-10-查看提交历史与版本回退.mp4

    Linux运维-04-日志分析-日志监控ELK-day03-生产案例及Git版本控制-10-查看提交历史与版

    包含Git-2.25.1 64位和32位windows安装程序

    可以在该保存点将多人提交的源码合并,也可以回退到某一个保存点上。 ———————————————— 版权声明:本文为CSDN博主「轮回的秋」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及...

    ylsislove#make-a-little-progress-every-day#技巧-如何删除Git仓库中指定历史提交记录

    前言我们在 git 操作过程中,如果遇到 push 某个 log 有问题,要删除此记录,怎么办?请看下文~做法一执行 git log 找到要回退到的历史提交记录

    GIt命名操作-平时笔记

    Git的使用-版本管理工具 查看历史-回退版本-远程连接github

    GIT起步教程

    有了它你就可以将某个文件回溯到之前的状态,甚至将整个项目都回退到过去某个时间点的状态。你可以比较文件的变化细节,查出最 后是谁修改了哪个地方,从而导致出现怪异问题,又是谁在何时报告了某个功能缺陷等等。...

    Git+TortoiseGit+中文语言包 分布式版本控制系统

    我喜欢Git的是它的一个小小的回退命令就能用于几乎任何场景。修正最后一次提交,因为你忘记包含一个小改动。撤销整个提交,因为那个特性已经不再需要。而且当处境变得困难时,你甚至可以用Reflog来恢复“已删除”的...

    gitahead:了解您的Git历史!

    GitAhead是图形化的Git客户端,旨在帮助您了解和管理源代码历史记录。 它可以作为的,也可以按照以下说明从源代码构建。 如何获得帮助 通过包含gitahead标签,询问有关在上构建或使用GitAhead的问题。 记住在创建新...

    grunt-git-newer

    grunt-git-newer 像 grunt-newer,但对于 git-commits 它会将您的config.src (或...发布历史1.0.0 - 初始版本 1.0.2 - 换出同步生成模块,为主添加分支名称回退 1.0.3 - 只需写出自己该死的同步生成功能。执照版权所有

    hehe1:123456

    穿梭前,用git log可以查看提交历史,盔甲确定要回退到该版本。 要重返未来,用git reflog查看命令历史,刹车确定要回到未来的那个版本。 初次安装 git config --global user.name“ lanch” git config --global ...

    版本控制简介Git与Repo入门

    版本控制是什么已不用在说了,就是记录我们对文件、目录或工程等的修改历史,方便查看更改历史,备份以便恢复以前的版本,多人协作。。。最原始的版本控制是纯手工的版本控制:修改文件,保存文件副本。有时候偷懒...

    本地使用SVN进行源代码管理

    前段时间一直想找一个版本控制工具,平时写点代码什么的总是在一个文件夹下面复制多个历史版本,以时间命名,但是久而久之文件就大了起来,版本不稳定又不好把以前的删除,所以就产生了一大批的文件,想回退的时候...

    Repo下载使用记录

     安装Git # ubuntu系统直接使用sudo apt-get install git-core就能完成安装。 # 安装完成之后可以顺便配置一下个人信息: git config --global user.email youremail@xxx.com git config --global user.name ...

    checkout:检出回购操作

    当 Git 2.18 或更高版本不在您的 PATH 中时,回退到 REST API 以下载文件。什么是新的提高性能默认情况下只获取一个提交脚本验证的 git 命令身份验证令牌保留在本地 git 配置中支持SSH 创建本地分支检出分支时不再...

Global site tag (gtag.js) - Google Analytics