Git Emergency
My fork is behind the original repository
Severity Minor
What just happened
A fork doesn't update itself: the original moved on, your copy didn't. GitHub's โSync forkโ button does it for main.
Potential risks
- Rebasing your PR branch needs a force push.
Before you run anything
- Never commit on your fork's main: keep it a clean copy of the original.
Recovery steps
- 1
Add the original repository
Once per clone.
Safe$ git remote add upstream https://github.com/original/repo.git$ git fetch upstream - 2
Update your main
--ff-only refuses if you committed on main by mistake.
Safe$ git switch main$ git merge --ff-only upstream/main$ git push origin main - 3
Update your PR branch
Replays your work on the latest code.
Caution$ git switch my-feature$ git rebase main$ git push --force-with-lease
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 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