These are the sequence of steps I have performed:
dc9afg2k)git fetch origin master && git merge origin mastergit checkout master git pull (this pulled all recent changes)git fetch origin master && git merge origin mastergit reset --hard origin/mastergit checkout branch git blog
git reset --hard dc9afg2k (commit successful) git checkout mastergit log (this was gone back to 2 days ago).git pull (master is not updating with current origin/master).Remember, a pull is a fetch and a merge. git pull origin master fetches commits from the master branch of the origin remote (into the local origin/master branch), and then it merges origin/master into the branch you currently have checked out.
An out of sync master can happen when the remote repo has received a forced push (git push --force) which rewrite the history.
If you have done commits of your own on master:
make a branch (to remember the current master state)
git branch old_master
make sure you don't have any private file you need to save.
follow this guide
That would be:
git fetch origin
git reset --hard origin/master
git clean -f -d
(you can preview the last cleaning steap with a '-n' option: git clean -n -f -d)
Note that git fetch origin master && git merge origin master could be a git pull origin master: the interest of keeping the two steps separated is to look at the difference between master and origin/master before the merge.
If you don't make that diff, then a git pull is simpler.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With