亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

意外地恢復為主文件,丟失了未提交的更改

意外地恢復為主文件,丟失了未提交的更改

Git
DIEA 2019-11-15 21:12:22
我已經設法犯了一個大錯誤(在一個星期一早晨),在Master上工作,忘記創建新分支,對文件進行更改,然后無意中將其還原到Master,失去了所有更新。我沒有提交更新的文件。我丟失了所有更新還是可以找回它們?不要問我怎么做,因為每次我想起來,我都要面對自己。
查看完整描述

3 回答

?
慕萊塢森

TA貢獻1810條經驗 獲得超4個贊

如果您尚未提交,暫存隱藏所做的更改,則無法恢復這些更改。

編輯:恢復丟失的更改。在Mark Longair的建議上添加此內容(在評論中)。這還包括他在下面的答案中的幾個SO鏈接(*),我發現這些鏈接非常有用。

  • 如果您曾經提交過一些更改而丟失了該提交(例如以分離狀態提交),則可以使用來找到該提交reflog。請參閱此SO問題 *。

  • 如果您丟失了上一階段的更改,則也可以恢復。請參閱此SO問題 *。(我自己從未使用過或嘗試過)。

  • 如果你已經藏匿的變化,你也可以使用恢復popapply。(我不確定彈出/放下的隱藏存儲是否也可以恢復,但未提交)。您可能會在git中發現此恢復丟棄的存儲很有用。

如果有人可以建議其他任何方法,我將進一步編輯此答案以添加它們。


查看完整回答
反對 回復 2019-11-15
?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

兩個長鏡頭:一些IDE(例如Delphi)保留了編輯器歷史記錄。您可能在那里有追索權。
接下來,如果您的本地工作目錄位于MyDocuments文件夾中,則它可能已經由Windows Home Server,Carbonite,MozyPro等自動備份了。這些通常是“設置后忘記了”。也許你忘了嗎?

查看完整回答
反對 回復 2019-11-15
?
拉丁的傳說

TA貢獻1789條經驗 獲得超8個贊

此處的關鍵問題是對文件進行更改后的操作。如果創建的提交包含文件的新狀態,則應該能夠通過查看中的最新條目git reflog,找到提交的SHA1sum并使用git branch recovered <SHA1sum>或類似內容從中創建一個新分支來找回它們。在此答案中有一個執行此操作的示例。


如果您git add對任何文件進行了登臺,也應該可以將它們取回,但這是更多工作-Jakub在此答案中描述了如何執行此操作。


如果您碰巧git stash要給自己一個干凈的狀態,那么您當然可以像其他藏家一樣將其取回。


否則,恐怕這個消息不好。


我希望事后指出這一點不會令人氣憤,但只要切換回master分支,您就不需要使用任何可能會丟失數據的命令- git checkout master會告訴您您已經在master分支上,并顯示所有未提交的更改。(git reset --hard考慮到^W我以這種方式丟失數據的人的頻率,如果有未提交的更改,可以說是“是的,我的意思是真的”確認。)


查看完整回答
反對 回復 2019-11-15
  • 3 回答
  • 0 關注
  • 872 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號