Git Emergency

I added a file I didn't want to (git add)

Severity Minor

What just happened

git add only puts files in the staging area (the index). Until you commit, removing them from there changes nothing in the files themselves.

Potential risks

  • None: unstaging never touches your work.

Before you run anything

  • Already committed? See “I want to undo my last commit”.

Recovery steps

  1. 1

    See what is staged

    Files under “Changes to be committed” will go in the next commit.

    Safe
    $ git status
  2. 2

    Unstage one file

    The file stays modified on disk, it just won't be committed.

    Safe
    $ git restore --staged path/to/file
  3. 3

    Or unstage everything

    Then add again only what you want, file by file or with -p.

    Safe
    $ git restore --staged .
    $ git add -p

These procedures are provided for information only. Read each command and adapt it to your situation before running it. Disclaimer

Other disasters

🪓 I deleted my branch🚨 I pushed directly to main💥 I ran git reset --hard🧨 I overwrote a colleague's commits🔑 I pushed my .env file to GitHub🔀 I made a bad merge👻 I lost uncommitted changes🎯 I committed on the wrong branch🎈 I'm in “detached HEAD” state⚔️ I'm stuck in a merge conflict🚫 My push is rejected (non-fast-forward)🌀 My rebase went wrong🐘 GitHub rejects a file over 100 MB🥸 I committed with the wrong name or email🗑️ I deleted a file and committed it⏪ I want to undo my last commit✏️ I amended a commit that was already pushed🧹 Too many messy commits to clean up📮 I pushed to the wrong branch🧭 I rebased onto the wrong branch🔁 I need back the changes I reverted📦 git stash pop gave me a conflict🙈 I committed a file that should be ignored🔠 Git doesn't see my file rename (upper/lower case)🧨 I ran git clean -fd by mistake🩻 My repository is corrupted🙃 I forgot to pull before pushing👯 Duplicated lines of code after a merge✏️ I made a typo in a commit message✂️ My commit does too many things🧺 I lost a stash (drop, clear or pop gone wrong)🫥 I pulled and my code disappeared🍒 I cherry-picked the wrong commit☁️ I deleted a branch on GitHub / GitLab👥 I pushed with the wrong GitHub account🚚 The repository was renamed or moved🏷️ I tagged the wrong commit🌊 Git says every file is modified, but I changed nothing📦 I committed node_modules (or a build folder)📂 I ran git init in the wrong folder🧨 My pull request has conflicts⏳ My pull request is behind main📝 I have to apply review changes to my PR🧳 My PR shows commits that aren't mine🎯 I opened my PR against the wrong branch🚨 A merged PR broke main🚪 I closed my PR (or deleted its branch) by mistake🔴 The checks of my PR are failing🐘 My PR is too big to review🍴 My fork is behind the original repository