Git:如何通过一次提交恢复一系列提交

时间:2017-09-11 04:30:43

标签: git

在git中,是否可以通过一次提交恢复一系列提交?我有以下历史记录,我想从中恢复提交B和C

E (HEAD)
|
D
|
C
|
B
|
A

可以使用reset命令完成此操作,因为可以通过硬重置到目标提交来恢复所有以下提交,并将软重置恢复到头部吗?

2 个答案:

答案 0 :(得分:4)

您可以在单独的提交中还原多个提交,然后将它们压缩成一个?

这里真正的问题是你为什么要在一次提交中恢复所有内容 - 在一个单独的分支中单独提交它们会更清楚。

答案 1 :(得分:2)

是的,使用git commit(在每个要撤消的提交上),然后使用csv。您将获得一个具有撤消多个提交效果的大提交。然而,它很少是一个好主意:很难说出什么被还原以及为什么。 (另一方面,恢复许多小提交也很少是一个好主意,所以在某些情况下你必须选择哪种方法最不好。)