Staged is good news. git add wrote the blobs into the object store, they just have no name now. git fsck --lost-found Then look in .git/lost-found/other. You get the contents without the filenames. Don't run git gc in the meantime. Anything you changed but hadn't staged is gone, unless your editor kept a copy.