找回pop掉的stash

git stash pop,不同于git stash apply, 會應用且pop出最近的一次stash,stash list不再會有之前的stash。git stash pop出的change是可以找回的.

每次git stash都會生成一個新的commit,只要知道commitID, 通過git stash apply commitID 就可以應用之前的stash,然后重新git stash, 那么新修改就
回到了stash list中。尋找commitID有兩種方法:

  1. git stash pop 最后會打印出pop掉的commitid值,若這個記錄還存在直接使用即可。
  2. git fsck, 會打印出所有的dangling commit, 懸掛的commit是不被任何branch引用的commit。 一般list出的第一個commit即是剛剛被pop掉的commit。也可通過查看commit在commit graph中的位置確定對應的commitID:
    git log --graph --oneline $(git fsck | awk '/dangling commit/ {print $3}')

參考: http://stackoverflow.com/questions/89332/how-to-recover-a-dropped-stash-in-git

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • git常用命令 GIT常用命令備忘:http://stormzhang.com/git/2014/01/27/gi...
    新篇章閱讀 8,615評論 1 26
  • 監測app啟動時間 adb shell am start -w [packageName]/[packageNam...
    MrWang915閱讀 354評論 0 0
  • Add & Commit git init 初始化一個 Git 倉庫(repository),即把當前所在目錄變成...
    冬絮閱讀 4,906評論 0 9
  • Git 學習筆記 GitHub瀏覽器快捷鍵:t: 查找 先丟一堆圖。。就是這么任性 目錄Git對象說明 1.Git...
    歌白梨閱讀 980評論 0 1
  • 一間小房一盞孤燈 一種心境兩杯香茗 月亮還是那個月亮 人還是那個人 品味的那份心情 一半驚喜一半眼淚 風景還是那個...
    王子的夜宴閱讀 214評論 1 2