如果自早期提交以來已有提交和許多更改,是否有一種簡單的方法可將所有事情恢復爲早期提交的確切狀態?Git:如何將所有事情完全恢復到事先提交的狀態?
如果是這樣,是否有可能很容易切換回目前的狀態,如果我也有這樣的願望?
我已經意識到這個舊提交實際上是正確的,並且希望保留所有更改,以後僅供參考,但未來的所有工作都將基於此舊提交。
如果自早期提交以來已有提交和許多更改,是否有一種簡單的方法可將所有事情恢復爲早期提交的確切狀態?Git:如何將所有事情完全恢復到事先提交的狀態?
如果是這樣,是否有可能很容易切換回目前的狀態,如果我也有這樣的願望?
我已經意識到這個舊提交實際上是正確的,並且希望保留所有更改,以後僅供參考,但未來的所有工作都將基於此舊提交。
這聽起來像你想放的一個分支您目前的工作:
git branch saved_work
git reset --hard previouscommit
現在,您saved_work
分支包含當你想改變先前的工作狀態,如你所願,後來在previouscommit
和master
之後的所有內容被倒退至previouscommit
。
提交當前更改:
git commit
然後籤老犯:
git checkout yourcommit
添加-f選項會破壞本地的任何改變。
由於要返回到以前的狀態:
git stash
git checkout -b new_branch <tree-ish>
以上將節省您提交的修改,並允許您創建一個新的分支在具體承諾。
git stash
git checkout earlier_branch
我該如何去設置這個簽出的分支是主嗎?我已經意識到這個舊的提交實際上是正確的,並且希望保留所有更改,以後僅供參考,但所有未來的工作都將基於此舊提交。 – 2010-03-08 04:59:32