Git Emergency

I committed node_modules (or a build folder)

Severity Annoying

What just happened

Thousands of generated files are now tracked. They make every diff, clone and checkout slow, and create conflicts on each install.

Potential risks

  • They stay in the history even after removal (repository size).

Before you run anything

  • Not pushed yet? Amend the commit instead of adding a new one.

Recovery steps

  1. 1

    Ignore it

    Same for dist/, build/, .next/โ€ฆ

    Safe
    $ echo "node_modules/" >> .gitignore
  2. 2

    Untrack it, keep it on disk

    --cached removes it from Git only.

    Safe
    $ git rm -r --cached node_modules
    $ git commit -m "chore: stop tracking node_modules"
  3. 3

    Check the weight left in the history

    If it's huge, the large file detector shows how to clean it.

    Safe
    $ git count-objects -vH

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 added a file I didn't want to (git add)โœ๏ธ 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 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