当包含一些合并提交时,如何还原提交范围?

时间:2020-09-17 16:17:33

标签: git

我正在尝试还原某些提交为合并提交的提交范围。在这些范围的“错误”提交之前,我需要精确复制的分支(例如,最后一次良好的提交是“ A”)

git revert B1^..B10

如果某些是合并提交,它将返回类似“ ...由于合并而不允许,但未提供-m选项”之类的错误。

如果我提供选项-m 1,它将恢复,但是如果签出提交ID“ A”,我得到的代码的正确修订版将不完全相同。

请注意,我确实希望保留历史记录,因此不能使用reset命令。

2 个答案:

答案 0 :(得分:2)

在这些范围的“不良”提交之前,我需要精确复制的分支(例如,上次良好的提交是“ A”)

git read-tree -um A
git commit

答案 1 :(得分:0)

如果您想完全撤消git历史记录中的最后一次提交,以及更改文件的更改(如果您尚未推送):

git reset HEAD〜1

如果您已按下

git reset HEAD