git版本回滚:revert和reset

原创 2017年03月03日 11:47:54

       在使用git的时候,如果错误push之后,经常会回滚版本。
git的回滚有两种方式:

一:revert命令

git revert 版本id:
       这个命令可以用一个相反的提交来回滚指定版本所做的修改。然后在git push 即可吧线上的代码更新。
       在使用git revert 的时候,遇到一个问题。对于merge提交的代码,会出现下面的错误:

Commit XXX is a merge but no -m option was given.

       对于merge的分值,如果要revert的话,需要制定回滚到哪个版本,因为merge设计到了两个版本:
如:

Merge branch 'rms-develop' into master

回滚这种情况的,可以使用

git revert 版本id -m 1

       这个1 指的是master,2指的是develop。现在是在master分支上回滚 develop合并到master上的部分代码。
       这种方式,是用一种反向的push来重新提交一次。git中可以看到操作记录。

二 reset

       这个命令,是一种重置,及错误提交了。我要删除这个提交记录。也可以实现回滚。

两个命令的对比:

       看似达到的效果是一样的,其实完全不同.
第一:
       上面我们说的如果你已经push到线上代码库, reset 删除指定commit以后,你git push可能导致一大堆冲突.但是revert 并不会.
第二:
       如果在日后现有分支和历史分支需要合并的时候,reset 恢复部分的代码依然会出现在历史分支里.但是revert 方向提交的commit 并不会出现在历史分支里.
第三:
       reset 是在正常的commit历史中,删除了指定的commit,这时 HEAD 是向后移动了,而 revert 是在正常的commit历史中再commit一次,只不过是反向提交,他的 HEAD 是一直向前的.

版权声明:本文为博主原创文章,未经博主允许不得转载。

git reset revert 回退回滚取消提交返回上一版本

这些开发中很常见的问题,所以git的取消提交,回退甚至返回上一版本都是特别重要的.大致分为下面2种情况:1.没有push 重点内容 这种情况发生在你的本地代码仓库,可能你add ,commit 以...
  • TH_NUM
  • TH_NUM
  • 2017年04月17日 15:00
  • 280

git reset revert 回退回滚取消提交返回上一版本

git reset revert 回退回滚取消提交返回上一版本

git reset revert 回退回滚取消提交返回上一版本

原文:http://yijiebuyi.com/blog/8f985d539566d0bf3b804df6be4e0c90.html 总有一天你会遇到下面的问题. (1)改完代码匆...

git reset revert 回退回滚取消提交返回上一版本

转自:http://yijiebuyi.com/blog/8f985d539566d0bf3b804df6be4e0c90.html 总有一天你会遇到下面的问题. (1)改完代...
  • a_long_
  • a_long_
  • 2017年03月26日 20:48
  • 264

git reset revert 回退回滚取消提交返回上一版本

总有一天你会遇到下面的问题. (1)改完代码匆忙提交,上线发现有问题,怎么办? 赶紧回滚. (2)改完代码测试也没有问题,但是上线发现你的修改影响了之前运行正常的代码报错,必须回滚. 这...

git reset revert 回退回滚取消提交返回上一版本

git reset revert 回退回滚取消提交返回上一版本  一介布衣  2015-01-07  开发工具  54025 分享到:QQ空间新浪微博腾讯微博人人网微信 总有一天你会遇到下面的问...

git reset revert 回退回滚取消提交返回上一版本

总有一天你会遇到下面的问题. (1)改完代码匆忙提交,上线发现有问题,怎么办? 赶紧回滚. (2)改完代码测试也没有问题,但是上线发现你的修改影响了之前运行正常的代码报错,必须回滚. ...

【GIT】git reset revert 回退回滚取消提交返回上一版本

总有一天你会遇到下面的问题. (1)改完代码匆忙提交,上线发现有问题,怎么办? 赶紧回滚. (2)改完代码测试也没有问题,但是上线发现你的修改影响了之前运行正常的代码报错,必须回滚. ...

git版本回滚

有时候使用Git工作得小心翼翼,特别是涉及到一些高级操作,例如 reset, rebase 和 merge。甚至一些很小的操作,例如删除一个分支,我都担心数据丢失。 不久之前,我在做一些大动作(...

182 git reset版本回滚

版本回滚reset 总有一天你会遇到下面的问题. (1)改完代码匆忙提交,上线发现有问题,怎么办? 赶紧回滚.(2)改完代码测试也没有问题,但是上线发现你的修改影响了之前运行正常的代码报错,必须回...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:git版本回滚:revert和reset
举报原因:
原因补充:

(最多只允许输入30个字)