Git question

Christopher Jones jonesc at hep.phy.cam.ac.uk
Fri Jan 10 10:42:27 UTC 2020



> On 10 Jan 2020, at 9:34 am, Gerben Wierda <gerben.wierda at rna.nl> wrote:
> 
> OK. I'm back in git hell (suggestions made on this list, tips on stackexchange, git documentation, nothing gives me the answer)
> 
> I have 
> albus:macports-ports sysbh$ git remote -v
> local	https://github.com/gctwnl/macports-ports.git <https://github.com/gctwnl/macports-ports.git> (fetch)
> local	https://github.com/gctwnl/macports-ports.git <https://github.com/gctwnl/macports-ports.git> (push)
> origin	https://github.com/macports/macports-ports.git <https://github.com/macports/macports-ports.git> (fetch)
> origin	https://github.com/macports/macports-ports.git <https://github.com/macports/macports-ports.git> (push)
> 
> So, my clone is ‘local’, the upstream repository is ‘origin’ (some instructions tend to call this ‘upstream’, others ‘origin’, there seem to be two ’sops’ on this in gitland. I think now that using ‘upstream’ is the better choice as git defaults to ‘origin’ when no argument is given. So, I need to rename too. But first let’s see if I can get this thing working in the first place).
> 
> If I produce a pull request and I’m rebuffed because of an error I make, I need to go back to testate of the official repository before proceeding again. At such a point my own clone is both commits ahead and commits behind the official repository. I need to lose my commits (as I am rebuffed by macports maintainers if I have multiple ‘working’ commits in my pull request). So, I need to reset my clone to the current state of the official repository.
> 
> So, my clone is now two commits ahead of the official macports repository and 343 commits behind. I need to reset my clone to be the same as the official repository. The result of which is:
> 
> albus:macports-ports sysbh$ git fetch origin
> albus:macports-ports sysbh$ git reset --hard origin/master
> HEAD is now at dfb14de3eb5 pypy*-tkinter: ensure UsingTheRightCompiler
> albus:macports-ports sysbh$ git push
> Username for 'https://github.com': <https://github.com'/> gerben.wierda at rna.nl <mailto:gerben.wierda at rna.nl>
> Password for 'https://gerben.wierda@rna.nl@github.com': <https://gerben.wierda%40rna.nl@github.com'/> 
> To https://github.com/gctwnl/macports-ports.git <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 <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.
> 
> I don’t want to “Integrate the remote changes”, I want to lose them. How??


In this case because you changed history in your local master branch (by resetting) you need to force push

git push —force local master

> 
> G
> 
>> On 10 Jan 2020, at 08:57, Michael <keybounce at gmail.com <mailto:keybounce at gmail.com>> wrote:
>> 
>> 
>> On 2020-01-09, at 2:33 PM, Steven Smith <steve.t.smith at gmail.com <mailto:steve.t.smith at gmail.com>> wrote:
>> 
>>> Me too. We’re discussing MacPorts-relevant git commands in https://github.com/macports/macports-ports/pull/6106 <https://github.com/macports/macports-ports/pull/6106> .
>>> 
>>> Easiest, most destructive to local:
>>> 
>>> # save all local files changed outside the git repo
>>> 
>>> git fetch --all
>>> git reset --hard upstream/master
>>> 
>>> # restore all local files
>> 
>> I'm sorry, I just have to follow up with this xkcd ...
>> 
>> https://xkcd.com/1597/ <https://xkcd.com/1597/>
>> 
> 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macports.org/pipermail/macports-users/attachments/20200110/00c0f957/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 1930 bytes
Desc: not available
URL: <http://lists.macports.org/pipermail/macports-users/attachments/20200110/00c0f957/attachment.bin>


More information about the macports-users mailing list