1
我想編寫一個需要乾淨的工作目錄的腳本。我想確保任何rebase,merges或其他可能沒有正確結束的內容都完全從我的工作目錄中刪除。Git:中止所有操作以獲得乾淨的工作目錄
git reset --hard
應該合併工作,並git rebase --abort
將工作rebase,但也有其他國家像恢復或櫻桃採摘以及。是否有任何確定的方法來清除所有這些事件,以使我的工作目錄進入一個乾淨的狀態?
編輯:
例如:
((5d8999f...))
$ git rebase develop
(detached HEAD|REBASE 1/3)
$ git reset --hard
(detached HEAD|REBASE 1/3)
$ git checkout HEAD -- .
(detached HEAD|REBASE 1/3)
$ git status
rebase in progress; onto 41e6808
You are currently rebasing.
(all conflicts fixed: run "git rebase --continue")
我知道我能做到git rebase --abort
,但如果沒有底墊回事,這將導致一個錯誤,我在我不處理的心情。另外,因爲這將是一個自動腳本,我不想知道可能有其他狀態,我可能沒有佔。
我需要一種萬無一失的方式來恢復我的工作目錄到一個原始狀態,以便我可以做任何我想要的命令而不會失敗。
這是不能令人滿意的。我想刪除任何rebase/merges/reverts - 而不是未跟蹤的文件。 –
好吧,只需刪除「髒」分支並簽出原始分支,它將清除分支內容。另一種方式ID使用'git reflog',在這裏閱讀: http://stackoverflow.com/questions/34519665/how-to-move-head-back-to-a-previous-location-detached-head/34519716#34519716 – CodeWizard
如果它回答你的問題,我會更新答案accordinally – CodeWizard