在还原的合并中查找提交

时间:2015-08-06 09:37:56

标签: git svn github version-control merge

我做了一个未完成的分支到主人的合并。我做了一个revert merge来反转代码更改。

现在问题是我无法再将此特定分支合并到master。所以我现在打算做的是创建一个新的虚拟分支,并选择丢失的提交并将其放入新分支,并将上述分支合并到新创建的分支,并从新创建的分支恢复开发。这会奏效。

我的问题是在git中有一种实现相同目标的简洁方法吗?

我不想恢复还原。

由于

2 个答案:

答案 0 :(得分:0)

你的第二次合并无效,因为git知道它已经合并了。

您对樱桃选择的看法是一种选择。我建议你使用变基而不是樱桃挑选。

git checkout dev
// do your staff
git add .
git commit -m "Finish the work"
git rebase master

这样,您可以从master分支的最后位置再次重新生成dev分支的所有历史记录。 git现在允许你合并它。

答案 1 :(得分:0)

除了你应该做的樱桃挑选之外,还有一种让git认为分支仍未合并的棘手方法 - 用相同的非合并提交替换合并提交。

git replace --edit <merge commit>

在编辑器中打开将是文本

tree AAAAA
parent BBBB
parent CCCCC
author ...

然后删除第二个&#34;父母&#34;行(与CCCC),保存,退出。现在,合并提交将被视为简单提交git,并且可以再次合并分支。

第二次合并后可以删除替换。