git stash 引發得事故

禿如其來的禿頭發表於2020-10-26

同事說把我程式碼衝突了,叫我拉取程式碼看下,還叫我把專案複製一下,我想著 複製專案??什麼年代了,還靠這招,上來就是 git stash,嗯,真香,一下子就將工作區和暫存區恢復到之前得樣子,心想,不愧是我。

然後,嘿嘿,不知道是 vscode 卡了 還是啥程式碼沒拉取下來,我問同事,你確定你推送程式碼,給的回覆是推了,肯定推了,然後我git stash pop 一次,在拉去一下程式碼,還是不行,腦袋一抽,又git stash pop ,然後就發現我找不到我之前得程式碼了,然後我又沒在自己分支上面推送過自己得程式碼,沒有版本記錄,問我同事居然還叫我重新寫, 偷懶是程式設計師得第一生產力,怎麼可能重寫,一頓百度之後,終於找回

git fsck --lost-found

輸入這個命令 會返回

Checking object directories: 100% (256/256), done.
Checking objects: 100% (2577/2577), done.
dangling blob a223*********************cc7  
dangling commit e023*********************c0
dangling blob bea23*********************c2  
dangling blob 0045723*********************ca3f  
dangling blob 11sdasd023*********************c2e9sdasd66
dangling blob edcd24*65e
dangling blob b23*********************cda
dangling blob b23*********************c******************c767
dangling tree 123*********************cb
dangling blob b23*********************ce
dangling blob e23*********************c3
dangling tree 523*********************cb
dangling blob 823*********************ca1
dangling commit bd23*********************c1
dangling blob 623*********************c5
dangling blob d23*********************cc
**dangling commit f23*********************cd**
dangling tree c723*********************c77
dangling blob 0523*********************cb3

然後在通過 倒數第三條得 commit 找回我之前得程式碼

git show  f23*********************cd**
  • git stash [save message]
    儲存,save為可選項,message為本次儲存的註釋
  • git stash list
    所有儲存的記錄列表
  • git stash pop stash@{num}
    恢復,num是可選項,通過git stash list可檢視具體值。只能恢復一次
  • git stash apply stash@{num}
    恢復,num是可選項,通過git stash list可檢視具體值。可回覆多次
  • git stash drop stash@{num}
    刪除某個儲存,num是可選項,通過git stash list可檢視具體值
  • git stash clear
    刪除所有儲存

以後還是老老實實先在自己分支上面提交下程式碼,有了版本記錄到時候才能隨便怎麼玩

相關文章