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 reset revert 回退回滚取消提交返回上一版本

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

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

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

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

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

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

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

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

git版本回滚

先说今天遇到的问题,看到一个config.php的配置文件一直在修改的状态下,但是和远程的config.php是不一致的,我不需要提交它,但是看它在 modified的状态下,很不爽,想删除它,git...

git版本回滚

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

182 git reset版本回滚

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

回滚revert和reset区别

分享请标明来自: https://www.css3.io/hui-gun.html背景git是一个庞大的工具,我们要开始扫盲一些常用的命令。回滚代码在项目中必然会遇到,下面我们介绍在git中如何回滚代...

git版本恢复reset

本博文转载自:http://www.tech126.com/git-reset/ reset命令有3种方式: 1:git reset –mixed:此为默认方式,不带任何参数的git re...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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