2012-12-18 83 views
12

我做了幾個提交(commit1/2/3),我改變了我的工作目錄沒有存儲。然後我想回到幾次提交前。所以,我的git復歸commit1 commit2 commit3,但我被告知要提交我的變化(commit4),所以我做到了,然後我做了再次的git復歸commit1 commit2 commit3 commit4,但我有一個消息Git恢復失敗

error: a cherry-pick or revert is already in progress hint: try "git cherry-pick (--continue | --quit | --abort)"

當我運行git branch -va,HEAD指向提交3

我不太明白髮生了什麼。我現在應該做什麼來使事情恢復?

回答

16

最好用乾淨的索引和工作樹啓動還原。
否則,在前一個回覆正在進行的同時進行第二次回覆(在新提交的頂部)導致出現該錯誤消息。

既然你仍然在commit 3,你可以:

  • git cherry-pick --quit(其中,從this thread,告訴恢復到離開HEAD獨自離開的方式),
  • 檢查你的食指和工作樹(git狀態),
  • 進行任何調整以獲得乾淨狀態(如新提交),
  • 然後重新執行git revert

(你可以在「Rollback to Previous Commit - Github for MAC (a revert is already in progress)」查看其他選項)

不要忘記git reset如果你只是想那些三個提交給忘了(儘管這會使你強制推:git push --force,爲了如果其他合作者已經從該分支中​​提取,則使用git revert的方法是更好的方法)