git stash恢復


今天下午在使用Git命令進行代碼管理時,因為自己一時疏忽直接把自己一天的勞動成果給弄丟了,這還了得,嚇死寶寶了。真的,相信有代碼丟失的朋友肯定能體會我當時的心情,不能體會我心情的那就祝你們也丟次代碼,這樣就可以深刻體會到我的心情了。哎,然后冷靜了兩秒,媽蛋,不能就這么認栽吧,老子可不想再寫一遍那惡心的UI還有一些頁面邏輯!於是,打開百度問度娘!哎,別說,還真讓我找到了!頓時有種撥開雲霧見天日,守得雲開見月明的心情。於是特寫此博客希望大家以我為戒,千萬不要因為自己的疏忽釀成不必要的麻煩,就算釀成了錯誤也要相信一定有什么辦法可以解決的!對!就是這樣! 
首先我先給大家講一下我是如何丟棄代碼的: 
1.git stash將寫好的文件暫存緩存區 
2. git pull origin develop從develop分支下載最新代碼 
3. 發現沒啥沖突,然后准備git stash pop 
4. 在git stash pop時候發現有個文件改了,然后准備繼續git stash然后drop一個文件 
5. 對!你沒看錯!就是這里!我竟然打錯了git stash打成了git status!然后!直接git stash drop stash@{0}然后git stash pop!然后!對! 
沒有然后了! 
6. 錯誤就這樣發生了,今天剛寫了一天的代碼啊,我湊!不行!不能慫,就是干!打開度娘,哎,別說,還真有人解決了這個問題,頓時。。。心花路放啊! 
7. 好,現在將方法告知!采用以下命令,即可找回丟棄代碼! 
8. 首先git fsck --lost-found這個就是可以看下自己最近的一些刪除的提交。 
然后找到上述你剛才git stash drop stash@{0}時成功刪除的id。例如: 
Dropped stash@{0} (e2c07caec2b995ba75ce1abd15796c6f1686d532) 
然后拷貝e2c07caec2b995ba75ce1abd15796c6f1686d532查找git fsck --lost-found列出的刪除的提交id, 
如果有恭喜你,離找回只差一步,你可以先用 
git show e2c07caec2b995ba75ce1abd15796c6f1686d532看一下是不是你丟棄的改動文件, 
如果是,直接git merge e2c07caec2b995ba75ce1abd15796c6f1686d532即可找回! 
后來想想其實這次丟失文件未嘗不是一件好事,充分顯示了git的強大,也又get到了新技能,簡直棒棒噠! 
不過還是奉勸大家,能別出錯盡量別出錯,萬一出錯出的太狠,可不一定真能再把錯誤糾正回來的。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM