美文网首页
找回pop掉的stash

找回pop掉的stash

作者: reminia | 来源:发表于2016-06-14 22:23 被阅读2907次

    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

    相关文章

      网友评论

          本文标题:找回pop掉的stash

          本文链接:https://www.haomeiwen.com/subject/ffvudttx.html