3 回答

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊
如果您尚未提交,暫存或隱藏所做的更改,則無法恢復(fù)這些更改。
編輯:恢復(fù)丟失的更改。在Mark Longair的建議上添加此內(nèi)容(在評(píng)論中)。這還包括他在下面的答案中的幾個(gè)SO鏈接(*),我發(fā)現(xiàn)這些鏈接非常有用。
如果您曾經(jīng)提交過一些更改而丟失了該提交(例如以分離狀態(tài)提交),則可以使用來找到該提交
reflog
。請(qǐng)參閱此SO問題 *。如果您丟失了上一階段的更改,則也可以恢復(fù)。請(qǐng)參閱此SO問題 *。(我自己從未使用過或嘗試過)。
如果你已經(jīng)藏匿的變化,你也可以使用恢復(fù)
pop
或apply
。(我不確定彈出/放下的隱藏存儲(chǔ)是否也可以恢復(fù),但未提交)。您可能會(huì)在git中發(fā)現(xiàn)此恢復(fù)丟棄的存儲(chǔ)很有用。
如果有人可以建議其他任何方法,我將進(jìn)一步編輯此答案以添加它們。

TA貢獻(xiàn)1795條經(jīng)驗(yàn) 獲得超7個(gè)贊
兩個(gè)長(zhǎng)鏡頭:一些IDE(例如Delphi)保留了編輯器歷史記錄。您可能在那里有追索權(quán)。
接下來,如果您的本地工作目錄位于MyDocuments文件夾中,則它可能已經(jīng)由Windows Home Server,Carbonite,MozyPro等自動(dòng)備份了。這些通常是“設(shè)置后忘記了”。也許你忘了嗎?

TA貢獻(xiàn)1789條經(jīng)驗(yàn) 獲得超8個(gè)贊
此處的關(guān)鍵問題是對(duì)文件進(jìn)行更改后的操作。如果創(chuàng)建的提交包含文件的新狀態(tài),則應(yīng)該能夠通過查看中的最新條目git reflog,找到提交的SHA1sum并使用git branch recovered <SHA1sum>或類似內(nèi)容從中創(chuàng)建一個(gè)新分支來找回它們。在此答案中有一個(gè)執(zhí)行此操作的示例。
如果您git add對(duì)任何文件進(jìn)行了登臺(tái),也應(yīng)該可以將它們?nèi)』?,但這是更多工作-Jakub在此答案中描述了如何執(zhí)行此操作。
如果您碰巧git stash要給自己一個(gè)干凈的狀態(tài),那么您當(dāng)然可以像其他藏家一樣將其取回。
否則,恐怕這個(gè)消息不好。
我希望事后指出這一點(diǎn)不會(huì)令人氣憤,但只要切換回master分支,您就不需要使用任何可能會(huì)丟失數(shù)據(jù)的命令- git checkout master會(huì)告訴您您已經(jīng)在master分支上,并顯示所有未提交的更改。(git reset --hard考慮到^W我以這種方式丟失數(shù)據(jù)的人的頻率,如果有未提交的更改,可以說是“是的,我的意思是真的”確認(rèn)。)
- 3 回答
- 0 關(guān)注
- 881 瀏覽
添加回答
舉報(bào)