我是git/github的新手,並且最近開始使用它。如何在git中恢復丟失的提交?
我有一個項目在git中有幾個提交,但是,我強迫推入git使用git push -f origin master,現在,我失去了所有以前的提交,並且只有最近推送的一個提交。
我如何檢索恢復我的項目在git中的前一個狀態?
的事情,我已經做了: git的引用日誌(這不會給我一次提交細節)
213bcde [email protected]{0}: revert: Revert "V3 files" cb24c10 [email protected]{1}: reset: moving to HEAD cb24c10 [email protected]{2}: reset: moving to cb24c103e6c0400760a20098a2baceb0601bb858 cb24c10 [email protected]{3}: checkout: moving from master to master cb24c10 [email protected]{4}: commit (initial): V3> files
我需要去提交超越cb24c10頭@ {4}:提交(初始) :V3文件
git的恢復HEAD --no編輯
混帳顯示 這說明僅提交當前的詳細信息SHA
混帳的fsck --no-reflogs
這爲我提供了一個懸空的斑點,我不知道這是我的老參考提交
Checking object directories: 100% (256/256), done. dangling blob e6a2438a4750e9cda68ce2d916c1b8a65dcc5384
請有人可以幫助讓我知道接下來的步驟將我的項目恢復到之前的狀態。
不幸的是,我還沒有關閉我的終端窗口,我可以擁有以前提交b0b7eba的SHA。我該如何恢復到這種狀態?
git push -f原點大師 增量壓縮使用多達4個線程。 寫作對象:100%(507/507),13.55 MiB | 7.17 MiB/s,完成。 總計507(增量109),重用0(增量0) 遠程:解決三角洲:100%(109/109),完成。 到https:http://.filename.git + b0b7eba ... cb24c10主 - >主(強制更新)
這將是有益的,如果你說什麼是錯誤的提交(我的意思是,與推力的那個) –
我用一個強制推(git push -f origin master )用文件形式我的本地系統,但沒有拉從混帳 –
最新的請告訴我這個'混帳引用日誌顯示遙控器/產地/ master'的結果。 你檢查了這個問題嗎? http://stackoverflow.com/questions/3973994/how-can-i-recover-from-an-erronous-git-push-f-origin-master gitreflog顯示遙控器/來源/主是ofcb24c10遙控器/來源的 –