首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >回滚Git合并

回滚Git合并
EN

Stack Overflow用户
提问于 2012-07-30 21:24:45
回答 5查看 600.5K关注 0票数 304
代码语言:javascript
复制
develop branch
--> dashboard (working branch)

我使用git merge --no-ff develop将任何上游更改合并到仪表板中

git日志:

代码语言:javascript
复制
commit 88113a64a21bf8a51409ee2a1321442fd08db705
Merge: 981bc20 888a557
Author: XXXX <>
Date:   Mon Jul 30 08:16:46 2012 -0500

    Merge branch 'develop' into dashboard

commit 888a5572428a372f15a52106b8d74ff910493f01
Author: root <root@magneto.giveforward.com>
Date:   Sun Jul 29 10:49:21 2012 -0500

    fixed end date edit display to have leading 0

commit 167ad941726c876349bfa445873bdcd475eb8cd8
Author: XXXX <>
Date:   Sun Jul 29 09:13:24 2012 -0500

合并中有关于50+提交,我想知道如何恢复合并,使仪表板返回到预合并状态

第二部分是,如果我不使用--no-ff进行合并,我就不会得到提交'Merge‘分支'develop’into dashboard‘..我该如何回滚合并?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2012-07-30 21:32:28

恢复合并提交已经在other questions.中详细介绍了当您执行快进合并时,您可以使用git reset返回到之前的状态:

代码语言:javascript
复制
git reset --hard <commit_before_merge>

您可以使用git refloggit log找到<commit_before_merge>,或者,如果您感觉很复杂(并且没有做任何其他事情):git reset --hard HEAD@{1}

票数 431
EN

Stack Overflow用户

发布于 2015-07-29 18:24:30

从这里开始:

http://www.christianengvall.se/undo-pushed-merge-git/

代码语言:javascript
复制
git revert -m 1 <merge commit hash>

Git revert添加一个新的提交,用于回滚指定的提交。

使用-m 1告诉git这是一个合并,我们希望回滚到主分支上的父提交。您可以使用-m 2来指定develop分支。

票数 187
EN

Stack Overflow用户

发布于 2012-07-30 21:30:47

只需使用git reset --hard HEAD^重置合并提交即可。

如果你使用--no-ff,git总是会创建一个合并,即使你没有在两者之间提交任何东西。如果没有--no-ff,git将只执行快进,这意味着您的分支HEAD将被设置为合并后分支的HEAD。要解决此问题,请找到要恢复为的commit-id和git reset --hard $COMMITID

票数 42
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11722533

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档