2017-05-09 59 views
2

很久以前在git的历史中,我可以看到有人做了两个分支的错误合并。他发生冲突,所以他只是删除了很多有冲突的变化。结果是主分支不包含这些变化(我们甚至没有怀疑它,直到我们检查)。重做GIT中的错误合并

分行功能已合并分行开发功能包含改变X Y Z.然而,Y和Z分别在合并过程中删除,因此发展只包含X.我要合并功能发展再次,因为我需要的所有更改。但是,GIT认为它们已经合并(它知道它们相互冲突并被手动“解决”)。

我怎么能这样做合并?

一些注意事项:

  • 我不能简单地合并,变化并不可见。
  • 我不能摘樱桃,它不起作用。
  • 我不想“只复制文件和再犯他们”,因为这将意味着在GIT一个关键的用例
  • 我使用不同的git合并有部分成功的战略尝试失败了,但每个策略的叶子一些文件,并在结束时,我不知道所有的发展

当然合并功能新的分支(即从发展提交开始,之前只是改变错误的提交)的作品。我可以看到所有必要的变化。但同样,我无法合并这新的分支发展由于上述原因。

+0

你是什么意思樱桃挑选不起作用?它会再次发出有关冲突的警报,但随后可以手动解决......但这次希望是正确的。 – airos

回答

0

看一看如何撤消合并git的博客条目:https://git-scm.com/blog/2010/03/02/undoing-merges.html

它建议使用混帐复归撤消合并提交。并且为了解决重新合并的问题(因为git抱怨那些提交已经在历史中),它的推荐回复了回复(而不是再次尝试合并)。