git stash: where did the files in my directory go?

git, git-stash

Solution

You can easily recover the lost stash (you can see its revision on the screen). But it is no use.

`git stash` does not save new files (foo/ directory content in your case), but it does `git reset --hard` before exit. And that restores the working directory which effectively removes `foo/`.

I suggest using some kind of deleted files recovering tool.

P.S. Sent an email about this into git mailing list. They said it is a bug, because `git stash` is intended to be a safe command. But for now just use `git stash -u`. This way git saves to the stash all (even untracked) files

Problem

I have a bad feeling my work is lost. Is there a way to possibly get them back? Here's a gist of what I did: ``` # Initially $ git init -q $ echo foo >foo $ git add foo $ git commit -m initial [master (root-commit) 399ac4f] initial 1 file changed, 1 insertion(+) create mode 100644 foo # Work work work $ rm foo $ mkdir foo && echo bar >foo/bar # This is where things went bad $ git stash Saved working directory and index state WIP on master: 399ac4f initial HEAD is now at 399ac4f initial $ git stash pop Removing foo # On branch master # ... no changes added to commit (use "git add" and/or "git commit -a") Dropped refs/stash@{0} (c8353a2223b73ceb9aa73fac64829919b68c86e9) # What happened to my work!? $ find foo find: foo: No such file or directory $ git --version git version 1.7.11.3 ``` Unfortulately, I don't think `foo/bar` ever saw the repository/index, as I hadn't run any `git` commands on it prior to this.

Original source

Related problems