在有后续合并时还原 git 合并



我意外地将自己有多个提交的分支合并到了一个发布分支。在我合并的几秒钟内,其他几个分支也被合并了进来。发布分支的git日志如下所示:

commit d942b01c89369e6be474f054a66d8cc1a0d7d59f
Merge: cd1db2c632a f2096c4685e
Author: someone else
commit 285d8d69a0abe17c2d6875aaee97003e206618f4
Merge: 4e5fae9a588 1665c1da9fd
Author: me
updates
commit 1665c1da9fdec15a9325fa58dad25064a189f366
Author: me
updates
commit 661aa3620ec444eabe7a251c6e9662185337fb4c
Merge: 66b06e87d85 2d58cc43674
Author: me
updates
commit 66b06e87d85ec0c6702ad7fdee555f52bc47ca89
Author: me
updates
commit f3162b881507609a2b7ded077f02c272e6ca7bb7
Author: me
updates
commit 4e5fae9a58893e05f9853d24dd71f4e140f49165
Merge: 53f93040834 2d58cc43674
Author: someone else

因此,我不能仅仅将头重置为4e5fae9a58893e05f9853d24dd71f4e140f49165(我认为我理解得很正确(,因为之后会发生合并。我只需要";撤消";由我提交的合并

您可以git revert -m 1 285d8d69

请注意,稍后您将无法合并该分支中的任何提交,因为尽管合并的效果将被撤消,但合并的拓扑仍将保留(此时您对此无能为力(。这就是在https://github.com/git/git/blob/master/Documentation/howto/revert-a-faulty-merge.txt,它为以后要执行合并时的困难提供了解决方案。

最新更新