At work I’m often working with others. However at times we’ll be working in our own projects (read git repositories) and then working together in common shared projects. The repository that I’m the main developer on and all the shared ones are always up to date but there repositories that I don’t often commit to can find itself lagging quite far behind. Recently I saw a large number of merge failures when trying to get the latest version of one of these repositories.
Essentially what I wanted to do was to say hey Git, I don’t work on this repository often so trust everything that is coming from upstream and overwrite my stuff. There were many things that the googles suggested that I could do, but quite a few wouldn’t work in the midst of a merge failure that had already occurred.
This stackoverflow post did work though.
Here’s how you do it:
git fetch --all
git reset --hard origin/master
Be warned, this essentially tosses out all your local changes. So make sure your situation is like mine or similar before doing it. I figured if I blogged about this, it would help me remember the next time it came up.