How to replace local branch with remote branch entirely in Git?


I have two branches:

  1. local branch (the one which I work with)
  2. remote branch (public, only well-tested commits go there)

Recently I seriously messed up my local branch.

How would I replace the local branch entirely with the remote one, so I can continue my work from where the remote branch is now?

I have already searched SO and checking out to the remote branch locally does not have any effect.


  1. Make sure you've checked out the branch you're replacing (from Zoltán's comment).
  2. Assuming that master is the local branch you're replacing, and that "origin/master" is the remote branch you want to reset to:

    git reset --hard origin/master

This updates your local HEAD branch to be the same revision as origin/master, and --hard will sync this change into the index and workspace as well.

How to get "their" changes in the middle of conflicting Git rebase?

How to upgrade Git to latest version on macOS?