笔名:  haibiscuit

博客园: https://www.cnblogs.com/haibiscuit/

Git地址: https://github.com/haibiscuit?tab=repositories  (欢迎star)

本项目地址: https://github.com/haibiscuit/StudyBook

尊重笔者的劳动成果,未经允许请不要转载

 

十:版本回退

(1) 场景一  撤销工作区文件的修改(即没有git add到暂存区)

方法一:

git checkout -- filename

方法二:

git restore filename

(2) 场景二  撤销暂存区的修改(即你想清空暂存区内容,但对工作区新的修改不造成影响,即只删除暂存区)

方法一:

git restore --staged filename

方法二:

git reset HEAD -- filename

(3) 场景三 暂存区或本地仓库覆盖工作区(即你已经执行git add或commit操作,又对工作区文件修改,但想撤回或放弃对工作区的修改)

方法一:

git checkout -- filename

//等价于git checkout filename

方法二:

git restore filename

(注:以上的两种方式会覆盖工作区文件,但不会删除暂存区的内容)

 

 

(4) 场景四  版本回退

方式一

git reset

git reset --hard HEAD     //本地仓库的当前版本覆盖工作区修改

git reset --hard HEAD^   //本地仓库回退到上一个版本

git reset --hard HEAD~2    //本地仓库回退到上两个版本

git reset --hard HEAD~n    //本地仓库回退到上n个版本

(注:

使用git reset会删除回退指定版本之后的所有版本)

如果想时光倒流,即回到被删除的版本怎么办:

git reflog     //找到想回到的版本

git reset --hard <commit_id>  //回退到被删除的版本

方式二

git revert    //回退到指定版本之前一个的版本,不是会退到指定版本

git revert HEAD     //回退到上一个版本

git revert HEAD^   //回退到上两个版本

git revert HEAD~n   //回退到上(n+1)个版本

 

最后推荐使用git revert方式,并不是像网上说git reset不能用,而是通过git revert重做的方式并不会丢弃重做的版本,更为方便.

Git实战指南----跟着haibiscuit学Git(第十一篇)的更多相关文章

  1. Git实战指南----跟着haibiscuit学Git(第五篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

  2. Git实战指南----跟着haibiscuit学Git(第九篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

  3. Git实战指南----跟着haibiscuit学Git(第六篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

  4. Git实战指南----跟着haibiscuit学Git(第一篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

  5. Git实战指南----跟着haibiscuit学Git(第二篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

  6. Git实战指南----跟着haibiscuit学Git(第十篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

  7. Git实战指南----跟着haibiscuit学Git(第八篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

  8. Git实战指南----跟着haibiscuit学Git(第七篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

  9. Git实战指南----跟着haibiscuit学Git(第四篇)

    笔名:  haibiscuit 博客园: https://www.cnblogs.com/haibiscuit/ Git地址: https://github.com/haibiscuit?tab=re ...

随机推荐

  1. js4——字符转化

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  2. Flask开发成语接龙游戏,闲来无事手机玩玩自己写的游戏吧!

    英语单词学习应用 周五发布的文章Flask开发天气查询软件,带你掌握pipenv的使用与手机Termux下的部署发布后,看到喜欢的人比较多.本来周末打算照着扇贝/极光单词,写一个英语单词自测工具.但苦 ...

  3. 高性能Web动画和渲染原理系列(1)——CSS动画和JS动画

    [摘要] 介绍CSS动画和JS动画的基本特点,以及轻量级动画库velocity.js的基本用法. 示例代码托管在:http://www.github.com/dashnowords/blogs 博客园 ...

  4. “智慧海绵城市”(SSC)监测评价体系整体解决方案

    一.方案简介 无论是内涝防治.黑臭水体治理,还是海绵城市规划设计及建设.评估,乃至未来智慧城市的建设,都需要有全面.致密.大量的城市水文监测数据和先进模拟仿真技术作基础支撑,唯有如此,决策才有据可依, ...

  5. eNSP 简介及基础操作

    eNSP 一. eNSP简介 eNSP是一款由华为自主研发的.免费的.可扩展的.图形化操作的网络仿真工具平台,主要对企业网络路由器.交换机及相关物理设备进行软件仿真,支持大型网络模拟.界面如下: 界面 ...

  6. mysql 授权用户 主从和备份

    1.授权用户 mysql -uroot -p123qqq...A                     进入数据库 grant   all     on     *.*     to   dc@&q ...

  7. UIScrollView,UICollectionView 和UITableView的属性和方法

    UIScrollView,UICollectionView 和UITableView 三者之间的关系:UIScrollView是 UICollectionView 和 UITableView 的父类. ...

  8. NSDateFormatter格式详细列表一览

    转自:http://www.cnblogs.com/xinus/archive/2012/10/29/NSDateFormatter_samples.html 前言:iOS开发中NSDateForma ...

  9. pip-get.py安装问题

    问题: 安装完成和配置环境之后:输入一个测试命令:pip help 出现下面这个问题. Fatal error in launcher: Unable to create process using ...

  10. ARTS-S govendor

    govendor init govendor add +external