当一个提交范围包含一些合并提交时,如何恢复它



我正在尝试恢复一系列提交,其中一些提交是合并提交。我需要在这些范围的";坏的";提交(例如,最后一个好的提交是"A"(

git revert B1^..B10

如果有些是合并提交,它将返回类似于";。。。由于合并而不允许,但没有给出-m选项";。

如果我提供选项-m 1,它将恢复,但如果我签出提交ID",则我没有得到完全相同的代码的正确修订;A";。

请注意,我确实想保留历史记录,所以使用reset命令不是一个选项。

我需要在这些范围的";坏的";提交(例如,最后一个好的提交是"A"(

git read-tree -um A
git commit

如果您想完全从git历史中撤消最后一次提交,以及更改文件更改,如果您没有推送:

数位重置头~1

如果您已推送

数位重置头

最新更新