05 Git提交到错误的分支怎么办?

具体问题是什么?

image.png

解决方法

  • 第一步:把错误的commit遴选到正确的分支(copy)
  • 第二步:因为遴选的背后是copy,所以还需要删除掉错误分支上的commit;

操作步骤:

  1. 切换到feature_a分支
  2. 选中提交错的commit节点,右键进行遴选即可(如果不修改commit信息的话可以在后面的提示中直接同意自动commit)


    image.png
  3. 操作结果如下:


    image.png
  4. 因为commit是copy的,所以我们还需要把feature_b分支中的那个commit删除掉
  5. 切换到feature_b分支
  6. 选中要删除的commit节点的前一个节点,执行「重置」操纵,如下图:


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


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


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


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

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


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


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

推荐阅读更多精彩内容