我是git的新手,我遇到了一個大問題。即如果我做錯了什麼,如何將存儲庫恢復到良好的狀態。我已經看到了如何使用'git revert'來進行修改以撤消以前的修改,並且我已經閱讀了很多關於stackoverflow和相關位置的問題,但是我還沒有找到簡單的方法來簡單地說「把我的本地存儲庫位返回到我做X之前的確切位置「,其中X可能是提交,合併或其他存儲庫操作。如何將不良變更回滾到本地git存儲庫?
長篇:
今天這個特別難咬了我,當我試圖安裝一個第三方的依賴(茉莉花)子樹分支下面就Subtree Merging在ProGit書的步驟。我遵循了這些步驟,並設置了一個跟蹤遠程Jasmine存儲庫的分支的本地存儲庫。然後我用read-tree將它連接到我的問題的子目錄中,並且都很好。不幸的是,Jasmine分支包含一個子模塊引用非公開的URL,當我試圖解決這個問題時,我在跟蹤遠程存儲庫的分支上做了更改(和提交)。無論我嘗試恢復這些提交/更改,我的'git push'命令都無法工作,因爲存儲庫認爲我已更改Jasmine代碼,並試圖通過公開的URL將它們推回來。
摘要:我搞砸了我的倉庫的一部分,無法弄清楚如何恢復它在我發佈由我的git新手狀態引起的命令之前的原始狀態。
是否有無論如何回滾整個存儲庫幾個提交/更改,或者我只需要克隆它,並重新啓動時發生這種情況?
+1。我只想指出,你可以在'git reset'中指定你想要的任何提交,而不僅僅是'git reflog'中的提交。在這種情況下,他常規的'git log'提交可能就足夠了。 – 2011-04-17 21:45:43