1, 结合使用 git reset --hard <commit id> , git reset --hard HEAD^,  git reflog , git log

  1) 使用 git log 查看你需要回退版本的commit id, 如果git log显示的结果看着不舒服可以多加一个参数 --pretty=oneline (git log --pretty=oneline)

  2)  使用git reset  --hard <commit id>

  3)  在第2)的时候需要找到对应的commit id,

    Scenario 1 : 你已经回退到某个你指定的版本,但是你这时后悔了想再次回到最新的版本,可以通过 git reset --hard HEAD^ 实现。

    Scenario 2 : 你已经回退到你指定的A版本,但是你实际上应该回退到A版本后面的B版本,你这是又无法通过 git log查看commit id;这时你可以执行git reflog找到B版本的commit id。

          这时你可以通过第2)步的命令来实现。

PS : 这种方法是不会再当前比较粗暴的方式,因为他不会保留你已经回退的版本之后版本的log(有点拗口),下面我们介绍一种回退到你指定的某个版本,并且保留log的方法

2,结合使用git checkout  <commit id> -- <paths>, git reflog, git commit -m 'xxxxxxx'

  1) 使用git log 或者 git reflog 找到你想要回到的哪个版本的commit id

  2) 使用 git checkout <commit id> -- <paths> 返回到你想要返回的版本, <paths>参数代表的是你想要指定哪个或者哪几个文件

  3) 执行完第2)步之后需要执行git commit -m '' 命令提交你当前的修改

  

Git 版本回退的几种操作方法的更多相关文章

  1. Git应用详解第四讲:版本回退的三种方式与stash

    前言 前情提要:Git应用详解第三讲:本地分支的重要操作 git作为一款版本控制工具,其最核心的功能就是版本回退,没有之一.熟悉git版本回退的操作能够让你真真正正地放开手脚去开发,不用小心翼翼,怕一 ...

  2. GIT·版本回退的指令

    阅文时长 | 0.46分钟 字数统计 | 499.2字符 主要内容 | 1.引言&背景 2.指令集合&示例 3.声明与参考资料 『GIT·版本回退的指令』 编写人 | SCscHero ...

  3. idea项目git版本回退

    idea项目git版本回退 一.查询提交历史 项目上右键,点击Git,点击Show History 二.复制版本号 我这里有两个测试的版本,我的当前版本是[二],所以我选择[一],右键,选择Copy ...

  4. androidstudio项目如何使用git版本回退

    使用android studio 编写代码错误,有时可能会需要将项目版本回退到以前的某个版本上,这对于很多刚使用git的网友来说操作可能不是很懂,下面为大家整理了android studio 回退已经 ...

  5. 如何删除远端已经推送的Commit记录???(Git版本回退)

    如何删除远端已经推送的Commit记录???(Git版本回退) 简单描述 突然事件:刚刚,就在刚刚,发生误了操作. 操作描述:我把修改的文件保存错分支了,已经commit了.并且还push上去了.对, ...

  6. 【开发工具 - Git】之Git版本回退

    这篇博客主要记录了关于 查看记录.版本回退.添加标签.删除文件 的操作 1.查看文件修改情况: 可以通过 git diff a.java查看a.java文件自从上次提交后的修改情况,如果自从上次提交之 ...

  7. Git版本回退的最佳方式

    使用git开发的过程中,存在误提交的时候怎么办呢?不用慌张,强大的git提供了两种版本回退的方式,可以让你恢复提交之前的内容: 方式一:reset(不推荐) 通过reset的方式,把head指针指向之 ...

  8. git 版本回退

    由于操作失误,需要将代码进行版本回退,首先在本地仓库执行了“git reset --hard HEAD^”命令,这样只会回退本地仓库的代码,但是我的代码之前已经push到了远程库中,查看远程仓库,发现 ...

  9. git误删文件找回方法/git版本回退方法

    使用git命令 git rm css/\*.css 我删掉了css文件夹下所有以.css结尾的文件,那么要怎样才能把文件找回来呢,下面说说方法,删掉其他的文件也是一样的方式找回. 第一步:使用git ...

随机推荐

  1. net start MySQL57 MySQL57 服务正在启动 . MySQL57 服务无法启动。

    造成这种情况的原因有很多,如果直接百度错误信息的话,不一定能很快解决问题,所以,出现这种情况,我们可以使用 mysqld --console 命令来查看报错信息,然后根据报错信息来百度,这样就很快定位 ...

  2. jq--实现自定义下拉框

    <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...

  3. workerman离线推送方案

    方案一:目前网上比较流行的 方案二:参考腾迅IM

  4. 关于HashMap中的扰动函数的疑问

    最近再看jdk8的hashmap源码,当看到这一步的时候有点疑问,去网上搜了一下,看到的所有文章基本上都是一篇抄一篇的(反正目前各大社区就是这么个状况),那个意思就是让高16位也参与运算,增加结果的随 ...

  5. LeetCode 面试题22. 链表中倒数第k个节点

    题目链接:https://leetcode-cn.com/problems/lian-biao-zhong-dao-shu-di-kge-jie-dian-lcof/ 输入一个链表,输出该链表中倒数第 ...

  6. MySQL 8 升级数据库

    开始升级前 因为从MySQL 8.0 到MySQL 5.7,或者从MySQL 8.0 到之前的 MySQL 8.0版本都是不支持的.所有在在升级前要做好数据库备份,包括mysql 系统schema(数 ...

  7. cat - EOF标志的使用

    前提 cat命令是用于连接文件并输出到标准输出设备或指定文件中. EOF为标志,可以替换为其他字符串 代码块 ``` 将文件内容作为标准输出也就是将文件内容输出到屏幕中,也可写作 cat filena ...

  8. [CF1311F] Moving Points - 树状数组

    Solution 按 \(x\) 关键字升序排序,依次枚举每个点 考虑对任意 \(x_j < x_i\),那么当 \(v_j \leq v_i\) 时,它们不会相交,且 \(dis\) 就是它们 ...

  9. Uva1639(概率期望/对数处理避免丢失精度)

    Uva1639 题意: 有两个盒子各有n个糖果(n<=200000),每天随机选择一个:选第一个盒子的概率是p(0 ≤ p ≤ 1),第二个盒子的概率为1-p,然后吃掉其中的一颗.直到有一天,随 ...

  10. C#简单的LogHelper

    适用于不想使用log4net等第三方的Log工具的LogHelper.正规的还是要使用<C# 工具类LogHelper>的这种做法. using System; using System. ...