笔名:  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重做的方式并不会丢弃重做的版本,更为方便.

最新文章

  1. mybatisGenerator 代码自动生成报错 Result Maps collection already contains value for BaseResultMap
  2. HTTP2特性预览和抓包分析
  3. PHP基础Mysql扩展库
  4. 无线端通用的reset样式
  5. MenuButton( 菜单按钮)
  6. python成长之路第三篇(1)_初识函数
  7. Java面试题之Request对象的主要方法
  8. Fortran使用隐形DO循环和reshape给一维和多维数组赋初值
  9. python的__init__几种方法总结
  10. POJ2891 Strange Way to Express Integers [中国剩余定理]
  11. 给定一个实数数组,按序排列(从小到大),从数组从找出若干个数,使得这若干个数的和与M最为接近,描述一个算法,并给出算法的复杂度。
  12. Java多线程:线程间通信之Lock
  13. Fire Again CodeForces - 35C (BFS)
  14. 启动期间的内存管理之build_zonelists初始化备用内存域列表zonelists--Linux内存管理(十三)
  15. js 原生手写AJAX
  16. Java手动释放对象
  17. Go语言无锁队列组件的实现 (chan/interface/select)
  18. android 开发 View _16 自定义计步器View、自定义柱状图View
  19. 1.7Oob 成员变量可以不初始化 但局部变量必须初始化
  20. LeetCode题解之N-ary Tree Level Order Traversal

热门文章

  1. java多线程与线程池
  2. 共享共建会让中国的5G加速吗?
  3. 华为OSPF与ACL综合应用实例讲解
  4. idea object is not a member of package
  5. ubuntu 下 shell 搜索命令
  6. 洛谷 题解 P5535 【【XR-3】小道消息】
  7. 数据库MySQL的安装与卸载
  8. BZOJ 3106: [cqoi2013]棋盘游戏
  9. CodeForces1000A-Light It Up
  10. iOS和webppy图片的爱恨情仇