On 2016-11-04 02:48, Ryan Schmidt wrote:
> Your instructions and theirs already differ in the way in which the branch 
> changes are obtained.
> 
> You said:
> 
>> To obtain the submitter's changes:
>>
>>      $ git fetch https://github.com/l2dy/macports-ports.git 
>> curl-ca-bundle-update
>>      $ git checkout -b l2dy-curl-ca-bundle-update FETCH_HEAD
>>      $ git rebase master l2dy-curl-ca-bundle-update
>>
>> The first command imports changes from the submitter's
>> "curl-ca-bundle-update" branch. The second command creates a new local
>> branch to match. The third command transplants the submitter's changes
>> onto the top of your master branch. (Rebasing will fail if the
>> submitter's changes don't apply cleanly to the current ports tree. You
>> can just ask them to fix this themselves and push a new branch.)
>>
>> Now you can check out the new branch and try out the submitter's
>> changes. You can also modify the branch as you see fit.
>>
>>      $ git checkout l2dy-curl-ca-bundle-update
> 
> They say:
> 
>> Step 1: From your project repository, check out a new branch and test the 
>> changes.
>>
>> git checkout -b l2dy-curl-ca-bundle-update master
>> git pull https://github.com/l2dy/macports-ports.git curl-ca-bundle-update

Some things in git can be achieved with different commands. Whether you
first create a branch and then fetch a remote or vice-versa usually does
not matter.

While Larry's version ensures you will always do a rebase, the version
from GitHub could fall back to a merge. Assuming the 'git pull' results
in a fast-forward, both command sequences should be equivalent as far as
I can see.

>>> Thanks, that worked, up until the "git push origin master" command,
>>> which asked me to authenticate, and supplying my username and password
>>> was unsuccessful:
>>>
>>> $ git push origin master
>>> Username for 'https://github.com': ryandesign
>>> Password for 'https://ryandes...@github.com': 
>>> remote: Invalid username or password.
>>> fatal: Authentication failed for 
>>> 'https://github.com/macports/macports-ports.git/'
>>
>> That's curious. What does "git remote -v" print?
> 
> $ git remote -v
> origin        https://github.com/macports/macports-ports.git (fetch)
> origin        https://github.com/macports/macports-ports.git (push)
> 
> Possibly relevant: I do, of course, use two-factor authentication, but I just 
> supplied my password; I was not asked to provide a two-factor auth token. I 
> remember having to follow some instructions to set up GitHub Desktop with 
> some kind of access to allow it to commit, but that was months ago so I 
> couldn't tell you what I did.

With 2FA, you will either have to use a GitHub Access Token for
https://, or use SSH with your public key instead.

https://help.github.com/articles/providing-your-2fa-authentication-code/#through-the-command-line

>> One small addendum: Before "git push origin master", you should run "git
>> pull --rebase" to get any new commits that were pushed by other
>> committers.
> 
> I assume if this was necessary I would have received an error message when I 
> tried to push?

Yes.

Rainer
_______________________________________________
macports-dev mailing list
macports-dev@lists.macosforge.org
https://lists.macosforge.org/mailman/listinfo/macports-dev

Reply via email to