在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,而不是重置 –
不,我不會不想重寫歷史。我想創建一個新的提交,它撤消了提交系列提交的更改 –
這就是所謂的重寫歷史。看看互動式底牌 –