如何將我本地副本上的所有文件恢復爲某個提交?git恢復到某個提交
commit 4a155e5b3b4548f5f8139b5210b9bb477fa549de
Author: John Doe <[email protected]>
Date: Thu Jul 21 20:51:38 2011 -0500
這是我想要恢復的提交。任何幫助將是一個救星!
如何將我本地副本上的所有文件恢復爲某個提交?git恢復到某個提交
commit 4a155e5b3b4548f5f8139b5210b9bb477fa549de
Author: John Doe <[email protected]>
Date: Thu Jul 21 20:51:38 2011 -0500
這是我想要恢復的提交。任何幫助將是一個救星!
http://www.kernel.org/pub/software/scm/git/docs/git-revert.html
使用Git還原將創建一個恢復你不希望有那些新的提交。
一種替代方案:http://git-scm.com/docs/git-reset
git的重置將您的副本重置您想
您可以通過鍵入恢復您的工作目錄和索引下的所有文件,下面這條命令
git reset --hard <SHAsum of your commit>
您也可以鍵入
git reset --hard HEAD #your current head point
或
git reset --hard HEAD^ #your previous head point
希望它可以幫助
'revert'不是正確的命令。 'revert'應用一個新的提交,撤銷之前的提交。它不需要'--hard'選項。 –
@Charles:爲什麼它不正確?它確實採用了--hard選項 –
閱讀文檔['revert'](http://www.kernel.org/pub/software/scm/git/docs/git-revert.html)取消了由一次提交,它不會重置索引和工作樹_to_特定提交這是提問者正在尋找。這就是['reset'](http://www.kernel.org/pub/software/scm/git/docs/git-reset.html)所做的。 '重置'確實需要'--hard'選項。 –
@ Will iamPursell - 你爲什麼刪除你的答案?你的似乎是最明智的。在回覆之後,OP可以承諾並推送(也就是說,他有一個工作回購)。下面的所有答案都使回購處於一種沒有用處的狀態。 – jww