git reset 和 git revert(git 回滚)

git revert 和 git reset 的区别

git revert 是用一次新的 commit来回滚之前的 commit

git reset 是直接删除指定的commit

  • 在回滚这一操作上看,效果差不多。但是在日后继续 merge 以前的老版本时有区别。因为 git revert 是用一次**逆向的 commit ** 中和之前的提交,因此日后合并老的 branch 时,导致这部分改变不会再次出现

  • git reset 是把某些 commit 在某个 branch删除,因而合并老的 branch 再次 merge 时,这些被回滚的 commit 应该还会被引入

  • git reset 是把 HEAD 向后移动了一下,而 git revertHEAD 继续前进,只是新的commit 的内容和要 revert 的内容正好相反,能够抵消要被 revert 的内容

git revert

git revert 撤销 某次操作,此次操作之前和之后的 commithistory 都会保留,并且把这次撤销作为一次最新的提交

    * git revert HEAD                  撤销前一次 commit
    * git revert HEAD^               撤销前前一次 commit
    * git revert commit (比如:fa042ce57ebbe5bb9c8db709f719cec2c58ee7ff)撤销指定的版本,撤销也会作为一次提交进行保存。

git revert 是提交一个新的版本,将需要 revert 的版本的内容再反向修改回去,版本会递增,不影响之前提交的内容

总结

要保留历史 commit,使用 git revert
要删除历史 commit,使用 git reset

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • @synthesize和@dynamic分别有什么作用?@property有两个对应的词,一个是 @synthes...
    笔笔请求阅读 3,649评论 0 1
  • 本内容转摘自折腾的博客 git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id【本地代码库回滚...
    hainuo阅读 7,669评论 0 1
  • 最近看了跑男,突然觉得它变了!从以前的娱乐节目,到现在变得很有意义,高大上了起来! 特别是用英语演讲那期!确实让我...
    小眼萌甜阅读 3,671评论 0 1
  • 在看电影时,经常会看到这样的镜头,客人走进酒馆,冲掌柜或者伙计喊一句:“烫壶酒!”,这里的“烫”就是把酒加热喝的意...
    小地方酒阅读 3,118评论 0 0
  • 两个月前,我一个高中同学,考完研忽然就晕倒了,颅内出血,被紧急送进ICU。 朋友通知我的时候,我整个人都愣住了,完...
    南容555阅读 2,593评论 0 0

友情链接更多精彩内容