在git中,是否可以通过单次提交恢复一系列提交?我有以下的历史,从中我想要恢复提交B和CGit:如何通过一次提交恢复一系列提交
E (HEAD)
|
D
|
C
|
B
|
A
可以这样用reset
命令来完成,因为它有可能恢复所有通过硬复位以下提交到目标承诺,和软重置回头?
在git中,是否可以通过单次提交恢复一系列提交?我有以下的历史,从中我想要恢复提交B和CGit:如何通过一次提交恢复一系列提交
E (HEAD)
|
D
|
C
|
B
|
A
可以这样用reset
命令来完成,因为它有可能恢复所有通过硬复位以下提交到目标承诺,和软重置回头?
你可以在单独的提交中恢复多个提交,然后压缩成一个?
这里真正的问题是为什么你想在一次单独提交中恢复所有内容 - 在单独的单独分支中单独提交它们会更清楚。
是的,使用git revert -n
(在每次提交被撤销)后面跟着git commit
。你会得到一个具有撤销多个提交效果的大提交。然而,这并不是一个好主意:很难说出已经恢复的原因以及原因。 (另一方面,恢复许多小提交也很少是一个好主意,因此在某些情况下,您必须选择哪种方法是最不好的。)
我认为您正在寻找rebase,而不是重置 –
不,我不会不想重写历史。我想创建一个新的提交,它撤消了提交系列提交的更改 –
这就是所谓的重写历史。看看互动式底牌 –