How to undo git rm -rf dirname without a first commit?

I did:

git init
git add .
git rm -rf dirname

Looking at other answsers, git reset --hard HEAD, git checkout -f and git reflog did not work, apparently because there is no HEAD to go back to, nor a commit to get the files back from.

  • Git-commit unable to open vim
  • How can I upload committed changes to my GitHub repository?
  • Github workflow and pull requests showing unwanted commits
  • How do I visualise my git repo properly?
  • git “lost” my commit, sort of, log giving conflicting results
  • Grouping committed files together (as a single commit) after you've already committed them to the repository in Svn?
  • Is there a way to get the files back?

  • `git-p4 clone` fails “new tip … does not contain …”
  • Integration of jenkins with visual studio team services
  • Make git diff show UTF8 encoded characters properly
  • Make git-grep ignore large text files
  • NGit making a connection with a private key file
  • GIT get the commit hash prior to a specific commit
  • 4 Solutions collect form web for “How to undo git rm -rf dirname without a first commit?”

    There is no way.

    Usually, git rm checks the files have already been committed before deleting them, so you don’t lose any of your work. However, using -f overrides this check.

    In short:

    • Don’t use -f.
    • Don’t touch anything you haven’t committed.

    Nope, as far as I know. I believe that git unlinks the files, just like doing rm -rf does. It doesn’t matter to it whether it knows about the files or not, it will gladly nuke the directory. Really, your only recourse is to try to use a file recovery tool as if you had done rm -rf

    If git is not tracking the dirname directory, it will not allow you to delete the directory with git rm -rf as it does not know about it. You will ( would have) get an error like

    fatal: pathspec 'dirname' did not match any files
    

    Only way you could have deleted is if you had done a git add . or git add dirname after the git init. If that is the case, your files are gone and you cannot get them back as it was never committed and git doesn’t track it. It is as good as doing a rm -rf on a normal folder ( and can’t recover unless you have backups)

    git reset --hard helped while deletion was not commited yet and, generally speaking, deletion was interrupted by Ctrl+Z

    Git Baby is a git and github fan, let's start git clone.