04 Git如何撤销commit(不想要or提交错误)

场景

  • 假设要删除刚刚提交到feature_b分支的commit。

步骤

  1. 切换到feature_b分支
  2. 选中要删除的commit节点的前一个节点,执行「重置」操纵,如下图:


    image.png
  3. 在弹出的框中,我们这样选择先


    image.png
  4. 我们可以看到,虽然commit被删除了,但其实改动还在,我们只需要丢失本地改动就好了


    image.png
  5. 刚才其实还有其他选项,比如选择「强行合并」,那么那个commit直接就被丢弃了,不会像刚才那样,产生Uncommitted changes,还需要手动丢弃改动


    image.png
  6. 其实还有一种选项,叫「软合并」,这种介于「混合合并」和「强行合并」中间,即:改动还在,但你改动被 git add .
    image.png

    「软合并」效果如下:
    image.png
  7. 以上操作(各种reset),如果一开始已经push到remote了,还需要 git push --force
  8. 其实还有一种操作,叫做「提交回滚」,通过revert来实现的


    image.png
  9. 操作结果如下,是通过一次新的commit来把错误的commit抹掉


    image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。