Given my absolute lack of decent git skills (and it’s just too complicated for a fast skill increase) I have the following setup (which so far worked)
I have a macports-ports clone on GitHub which I use locally. I need a clone or I cannot create pull requests. When I have to do a reset, I: - save my changed files outside the git tree - then: # To reset the current reporsitory to what is in upstream (my repo is called 'local', upstream is called 'origin') git fetch origin git reset --hard origin/master # I push the local store to my cloned repository on github: git push After this, my repo on github.com (gctwnl/macports-ports) and my local copy of my own repo are in sync with macports/macports-ports Or so I thought. But I just tried this and I get: albus:macports-ports sysbh$ git push Username for 'https://github.com': [email protected] Password for 'https://[email protected]@github.com': To https://github.com/gctwnl/macports-ports.git ! [rejected] master -> master (non-fast-forward) error: failed to push some refs to 'https://github.com/gctwnl/macports-ports.git' hint: Updates were rejected because the tip of your current branch is behind hint: its remote counterpart. Integrate the remote changes (e.g. hint: 'git pull ...') before pushing again. hint: See the 'Note about fast-forwards' in 'git push --help' for details. So, apparently my ‘reboot’ isn’t hard enough. What went wrong? How do I - reset my clone (both local and on GitHub.com) to the current HEAD of the official repo in a way that always works? G
