一位开发人员将分支feature2
合并到feature1
并推送结果,但错误地解决了一些合并冲突。我从A
检出了提交feature1
,并且在B
的{{1}}提交feature2
中正确合并了A
和B
与其他开发者的提交相同合并)。
我将合并的结果提交给一个独立的头,现在需要还原其他开发人员的合并提交并将我自己的合并提交应用到feature1
。我怎么能这样做?
答案 0 :(得分:1)
危险的方式:
1)标记您的分离提交,即git tag temp
。
2)签出feature1
分支。
3)使用git reset --hard temp
移动分支的本地副本以指向您的提交。
4)使用git push -f origin feature1
覆盖origin
上的狡猾版本。
5)使用git tag -d temp
删除标记。
仔细执行所有这些操作,并使用gitk
查看您正在做的事情。确保当时没有其他人使用origin
。如果你是偏执狂,那么在你开始做所有这一切之前,请标记你同事的提交(如果你搞砸了,这是一个好主意)。
重要提示:如果其他人的工作基于同事的合并,那么在这样做之前要认真思考。每个人最终都需要对你的新提交进行重新定义。