假設我有以下的git承諾:如何暫時刪除最後一次提交與Git?
aaaaaa
bbbbbb
cccccc
(最新)
我想回去bbbbbb
,並從那裏繼續發展。本質上,我想刪除cccccc
現在,並能夠在未來檢索它(我知道我仍然需要cccccc
)。我應該回復cccccc
還是回滾到bbbbbb
?
假設我有以下的git承諾:如何暫時刪除最後一次提交與Git?
aaaaaa
bbbbbb
cccccc
(最新)我想回去bbbbbb
,並從那裏繼續發展。本質上,我想刪除cccccc
現在,並能夠在未來檢索它(我知道我仍然需要cccccc
)。我應該回復cccccc
還是回滾到bbbbbb
?
只要做到:
git checkout -b dev_on_b bbbbbbb
將獨自留下CCCCCC分支,給你一個新的分支從開始BBBBBB。當你想重新使用CCCCC您可以執行的:
git merge branch_with_cccccc # bring cccccc into dev_on_b
或
git checkout branch_with_ccccc
正確的解決方案取決於這是否是公共git存儲庫。
如果你使用這個命令,git revert HEAD^
那麼它將恢復到(2),這可能是正確的事情。
但是,您需要確保在執行(4)時恢復爲(3),然後在再次提交時合併所做的更改。
你可能想看看這個,因爲它會根據不同情況討論不同的選擇,: http://book.git-scm.com/4_undoing_in_git_-_reset,_checkout_and_revert.html
感謝您的指點。它實際上是一個私人回購,與一些私人捐助者。 – moey 2012-03-26 01:01:47
這是一個私人的Git倉庫。 – moey 2012-03-26 01:14:43