我已經從github克隆了一些項目,到我的項目,所有的作品都很好,我很高興。Git回滾到之前的結賬
但在一些git pulls後,我收到了一些與上游項目的新提交有關的項目衝突。
我想回滾到之前的結帳,但我不知道我的項目中以前有哪個穩定結帳。
我如何知道它並回滾到以前的穩定(對我來說)項目結賬?我明白,從視角來看,更正確的方法可以解決與上游回購問題的衝突,但有時我只需要回滾到以前的版本,以獲得解決問題的時間。
我已經從github克隆了一些項目,到我的項目,所有的作品都很好,我很高興。Git回滾到之前的結賬
但在一些git pulls後,我收到了一些與上游項目的新提交有關的項目衝突。
我想回滾到之前的結帳,但我不知道我的項目中以前有哪個穩定結帳。
我如何知道它並回滾到以前的穩定(對我來說)項目結賬?我明白,從視角來看,更正確的方法可以解決與上游回購問題的衝突,但有時我只需要回滾到以前的版本,以獲得解決問題的時間。
如果您有一個可以執行的命令/腳本,並且可以說明一個「穩定點」(即正在工作,與當前不工作的狀態相反),那麼您可以考慮命令/命令。
請參閱「How to use git bisect?」。
這將幫助你隔離「它正在工作」的最後一次提交。
你已經承諾合併?如果不是,只需git reset --hard
,並且您在發佈git pull
之前又回到了州。否則,git reset --hard HEAD^
(如果合併是最後一次提交)會訣竅,因爲默認情況下git會始終選擇合併提交的第一個父級,這是您的分支。如果有疑問,您可以隨時使用gitk
檢查情況並找到您的分支上的最後一個提交,複製它的SHA1哈希並恢復到那個。
git reflog
應該告訴你操作的順序,最近的第一個。查找在第一次拉/合之前操作的提交ID; checkout
或reset --hard
。
如果您知道如何結帳以前的版本,我不清楚這一點嗎?如果沒有看到http://stackoverflow.com/q/1223354/11343。 – CharlesB 2012-04-23 07:08:28