美文网首页
git merge回退的方法

git merge回退的方法

作者: wyn_做自己 | 来源:发表于2022-06-01 21:01 被阅读0次

今日份鸡汤:在这个美好又遗憾的世界里,你我皆是自远方而来的独行者,不断行走,不顾一切,哭着,笑着,留恋人间,只为不虚此行,无论几岁,开心万岁,童心未泯,初心不老~

git merge某分支到目标分支上,发现冲突太多合并代码出问题了想要回退这次提交怎么办?

分如下几种情况:
1、没有commit,没有push

解决方法1: 利用idea 的可视化操作 rollback

解决方法2:idea切换到其他分支,再切回来会提示这个分支有东西没有commit,让你选择commit还是drop commit,选择删除就行了

解决方法3:git reset --hard HEAD 回退到头结点,丢弃所有改动

2、已经commit,没有push

此时只需要改本地分支上的提交就行了

解决方法1: git reset --head HEAD^

解决方法2: git revert

3、已经commit,已经push

解决方法1:

git log 查看提交记录,选择回退到的commitId

git reset --hard *******(*是commitId)

git reset回退干脆利落,但是会丢失提交记录,比如你回退test分支,此时刚好有人提交东西到test,会造成他人代码丢失。

git reset执行完成push到远程需要强制推送

git push --force orign

解决方法2:

git revert *******(*是commitId)

git revert回滚会保留旧的提交记录,生成一条回退记录,是不错的选择,但是在多分支并行开发的模式下会导致有些commit和并不到目标分支上

例如 feature/1 test master三个分支

feature/1合并到test,然后git revert

test 合并到master,然后feature/1合并到master上你会发现合并不了

相关文章

  • git merge了错误分支,如何优雅的回退到merge前的状态

    git merge了错误分支,如何优雅的回退到merge前的状态? 答 git merge --abort

  • git回滚

    git回滚 merge后有冲突,不想解决冲突,想取消merge git reset 回退到某个版本 回退到某个版本...

  • git merge回退的方法

    今日份鸡汤:在这个美好又遗憾的世界里,你我皆是自远方而来的独行者,不断行走,不顾一切,哭着,笑着,留恋人间,只为不...

  • git中分支名称后有MERGING

    git中分支名称后有 MERGING,说明之前执行了“git merge 某分支”的命令,要想回退到merge之前...

  • git实践总结

    场景一:代码回退 情景二:回退代码丢失找回代码 git reset –hard HEAD^的锅 情景三:Merge...

  • git 回退

    git 回退的两种方法:回退(reset)、反做(revert) 方法一:git reset 原理: git re...

  • Flutter SDK回退指定版本

    Flutter回退版本有两个方法: 使用git命令回退[推荐] 使用flutter命令回退 一. 使用Git命令回...

  • git 终端命令

    git本地分支回退: git远程分支回退:

  • git 相关命令

    git merge 和 git rebase 小结: git merge是用来合并两个分支的。git merge ...

  • O my zsh - git

    gl = 'git pull'gm = 'git merge'gmom = 'git merge origin/m...

网友评论

      本文标题:git merge回退的方法

      本文链接:https://www.haomeiwen.com/subject/crbxmrtx.html