Git Emergency

git stash pop gave me a conflict

Severity Minor

What just happened

When pop meets a conflict, Git applies what it can, marks the conflicts and keeps the stash entry.

Potential risks

  • Dropping the stash before resolving everything loses the unresolved part.

Before you run anything

  • Next time, git stash apply then drop when happy: same thing, more control.
  • Golden rule: before any destructive command, create a safety branch with git branch backup/before-fix โ€” it costs nothing.

Recovery steps

  1. 1

    See the conflicts

    Files marked โ€œboth modifiedโ€.

    Safe
    $ git status
  2. 2

    Start over if needed

    Throws away the half-applied stash โ€” and any other uncommitted change in the working directory. The stash itself is kept.

    Destructive
    $ git checkout -- .
    $ git stash list
  3. 3

    Resolved? Remove the stash

    Once the files are fixed and staged.

    Caution
    $ git add .
    $ git stash drop

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๐Ÿ™ˆ 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 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