0

I accidentally type

git checkout ../../..

when I actually meant

cd ../../..

I realize all my uncommitted changes are gone. Is there anyway I can recover them?

Thanks!

1 Answers1

1

If you used git checkout path and it overwrote uncommitted changes, those changes are generally gone without the ability to recover (though your OS may offer some non-Git method, e.g., Time Machine on OS X). See also Get back the changes after accidental checkout?

Your subject line asks what:

git checkout ../../..

means. It tells Git that Git should check out the directory ../../.. from the current commit, i.e., from whatever sub-sub-sub-directory you are in—such as a/b/c/ if your layout includes a top level directory a, subdirectory b within a, and subdirectory c within b. In thiat particular case—climbing up three levels, from a directory three levels down—you would arrive at your top level directory, so this would check out (extract) every file that is in the index, overwriting the work-tree versions.

If you were four levels down—e.g., in a/b/c/d/—this would tell Git to overwrite the work-tree copy of every file in a/ from the index copy.

torek
  • 448,244
  • 59
  • 642
  • 775