在git中,是否可以通过一次提交恢复一系列提交?我有以下历史记录,我想从中恢复提交B和C
E (HEAD)
|
D
|
C
|
B
|
A
可以使用reset
命令完成此操作,因为可以通过硬重置到目标提交来恢复所有以下提交,并将软重置恢复到头部吗?
答案 0 :(得分:4)
您可以在单独的提交中还原多个提交,然后将它们压缩成一个?
这里真正的问题是你为什么要在一次提交中恢复所有内容 - 在一个单独的分支中单独提交它们会更清楚。
答案 1 :(得分:2)
是的,使用git commit
(在每个要撤消的提交上),然后使用csv
。您将获得一个具有撤消多个提交效果的大提交。然而,它很少是一个好主意:很难说出什么被还原以及为什么。 (另一方面,恢复许多小提交也很少是一个好主意,所以在某些情况下你必须选择哪种方法最不好。)