一位开发人员将分支feature2
合并feature1
并推送结果,但错误地解决了一些合并冲突。我签出提交A
并正确feature1
合并提交B
(并且与其他开发人员合并的提交相同)。feature2
A
B
我将合并的结果提交给了一个分离的头,现在需要恢复其他开发人员的合并提交并将我自己的应用到feature1
. 我怎样才能做到这一点?
一位开发人员将分支feature2
合并feature1
并推送结果,但错误地解决了一些合并冲突。我签出提交A
并正确feature1
合并提交B
(并且与其他开发人员合并的提交相同)。feature2
A
B
我将合并的结果提交给了一个分离的头,现在需要恢复其他开发人员的合并提交并将我自己的应用到feature1
. 我怎样才能做到这一点?
危险的方式:
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
当时没有其他人在使用。如果您偏执,请在开始执行所有这些操作之前标记您同事的提交(这是一个好主意,以防您搞砸了)。
重要提示:如果其他人的工作基于您同事的合并,请在以这种方式进行之前三思而后行。每个人最终都需要根据您的新提交重新定位。