git-各种撤销操作之reset和revert使用

字數 373閱讀 4029

一、使用场景

在使用git提交代码的过程中,难免会出现失误,而我们补救的方法就是撤销,而常用的撤销无非就两个命令,reset和revert,那他们两个如何使用以及区别是什么呢?

二、使用方法

1.png

先上一张图片。
在提交代码的过程中,无非就是add、commit和push,但不管是哪一步,都有可能出现提交错误的情况,下面分别说一下每一步的撤销操作。

2.1.撤销add之后的撤销

git reset HEAD filename

2.2.撤销commit之后的操作

2.2.1.从本次仓库回退到工作区,保留工作区修改内容,并清空缓存区内容

git reset --mixed   //后面的--mixed可省略,默认就是此方式。

2.2.2.从本地仓库回退到缓存区

git reset --soft

2.2.3.从本地仓库回退到工作区,不保留工作区内容,并清空缓存区内容

git reset --hard   //慎用

2.3.撤销push之后的操作

2.3.1.找到push之前commit提交时对应的commitid,一般只需前六位即可。

git revert commitid

2.3.2.再次push

git push origin branch

2.4.再用一张图总结一下

2.png

4.reset和revert的区别

reset的本质:reset的功能虽然是起到了撤销commit的作用,但实质上它是将HEAD的指向移动了位置。如下图。


3.png

revert:revert是一次新的commit,HEAD会继续向前执行。如下图。


4.png

推薦閱讀更多精彩內容

  • git常用命令 GIT常用命令备忘:http://stormzhang.com/git/2014/01/27/gi...
  • 学习资料pro gitgit - 简明指南Github官方帮助文档Git Community Book 中文版参考...
  • 一、Git工作流程 以上包括一些简单而常用的命令,但是先不关心这些,先来了解下面这4个专有名词。 Workspac...
  • 其实使用git已经有两年多时间了,但是对Git的概念一直懵懵懂懂,平时常用的命令就那么几个,而且大部分的时候都是直...
  • 一、git简介 git是目前世界上被最广泛使用的现代软件版本管理系统。git本身亦是一个成熟并处于活跃开发状态的开...