lost git stash changes

后端 未结 3 432
误落风尘
误落风尘 2020-12-13 09:47

So here\'s what happened: I was on a branch \'A\' and did a Git stash on that branch. Then I switched to another branch \'B\'. I navigated back to Branch \'A\' but did not d

相关标签:
3条回答
  • 2020-12-13 09:52

    Stashes should be viewable via

    git stash list
    

    or

    gitk --all
    

    also, git stash does not stash untracked files. If you did this and subsequently did a git checkout --force of another branch to overwrite untracked files with tracked ones in another branch, you have lost that content. The recommended way to stash is with

    git stash -u
    

    This will prevent losses of this type.

    0 讨论(0)
  • 2020-12-13 09:52

    Something similar happened to me. In short, check to make sure you didn't accidentally push the new files to the other branch.

    Here's what happened to me: I stashed my stuff, switched from 'dev' to 'master' to do a hotfix quick. When I pushed my hotfix to master, I didn't notice that I also added my new files that were meant for dev to the master branch--I too assumed stash included those files.

    0 讨论(0)
  • 2020-12-13 09:57

    We also faced the same issue. So, here is how we recovered the lost changes:

    1. Go back to branch B.

      git checkout B

    2. Use git reflog option to mange reflog information.

      git reflog --all

      Output:

      f332d5c refs/stash@{0}: WIP on B: aa1d0c1 xyz commit message

    3. Now, switch to branch A using git checkout A

    4. Finally, to recover your lost changes.

      git stash apply f332d5c

    0 讨论(0)
提交回复
热议问题