我想放棄當前分支的變化,並且沒有提交,我不小心輸入了命令git revert HEAD
。 prev分支(先前提交)中的更改似乎丟失了?如何撤消「git revert head」?
如何撤銷git revert HEAD
命令?
我想放棄當前分支的變化,並且沒有提交,我不小心輸入了命令git revert HEAD
。 prev分支(先前提交)中的更改似乎丟失了?如何撤消「git revert head」?
如何撤銷git revert HEAD
命令?
你可以做
git reset --hard HEAD~1
它會帶你到當前HEAD之前提交。
如果您在恢復提交後沒有執行git push
,那麼Bidhan的答案是現貨。不過,如果您從開始推出,則只需再次執行git revert HEAD
即可恢復回覆。
git revert
只是創建一個新的提交。如果你還沒有推開它,你可以「撤銷」,它使用--keep
:
git reset --keep HEAD~1
--keep
將重置HEAD到以前的承諾,並保留未提交的局部變化。
git reset --hard HEAD~1
--hard
如果使用它,則會丟棄工作目錄中的所有本地更改。
另一種方式是再次使用git revert
。由於命令git revert
只是創建新的commit撤銷另一個,你可以再次運行此命令:
git revert HEAD
它會撤消以前的還原並添加另一個提交的,儘管提交信息變得混亂。
'git revert HEAD'保存了我10天的離線工作。謝謝一堆! – Samuel
git reset --keep
是這樣做的最直接的方式,但我傾向於做很多git rebase -i
。
當交互操作彈出編輯器並且提交列表不在默認情況下跟蹤的遠程分支時,刪除最後一行,該行應該是回覆對應的行。
您還可以壓縮或重新排序行,或者停止並編輯較舊的提交。
可能的重複[如何「解除」恢復的Git提交?](http://stackoverflow.com/questions/8728093/how-do-i-un-revert-a-reverted-git-提交) –