[dmd-internals] Fixing github pull requests that I borked up

Walter Bright walter at digitalmars.com
Wed Oct 9 10:43:39 PDT 2013


On 10/8/2013 3:39 AM, Jonathan M Davis wrote:
> On Tuesday, October 08, 2013 01:56:21 Walter Bright wrote:
>> On 10/8/2013 1:25 AM, Jonathan M Davis wrote:
>>> On Tuesday, October 08, 2013 01:18:45 Walter Bright wrote:
>>>> Because I often need to amend a pull request, and I was told it was done
>>>>
>>>> with:
>>>>        git --amend -a
>>>>        git push -f
>>>>
>>>> and I've been doing that successfully since I've been doing PR's.
>>> That's perfectly fine as long as it's to your branch (which it normally
>>> would be for a PR). The problem is when it's done to master. However, I
>>> didn't know that you could get away with doing a push without listing the
>>> target branch. I always list the target branch, which is less
>>> error-prone, since you're never going to push -f to master.
>> I'm not really sure why that one time I did it it applied it to master
>> rather than the branch. Anyhow, what is the syntax to apply it only to a
>> branch?
> Assuming that your github repo is named origin (which is normally the case),
> it should be
>
> git push origin branch-name
>
> or for forcing it,
>
> git push -f origin branch-name
>
> and git will complain if you try and push it to a branch that doesn't have the
> same name as your local one. So, it should catch any mismatch. And the only
> reason that you'd risk pushing to the main repo that way is if you
> accidentally typed upstream instead of origin, and you'd have to combine both
> upstream and master to actually mess with master on the main repo (and since
> pull requests really should be coming from branches, not master, the odds of
> accidentally pushing to master on upstream should be quite low).
>
> If you have to actually push to the main repo, then presumably it would be
>
> git push upstream branch-name
>
> or
>
> git push -f upstream branch-name
>
> though I'd generally expect you to only be pushing to upstream when creating
> branches for releases and whatnot, not pull requests (I'm not sure that you
> even _can_ create pull requests to the main repo from branches on the main
> repo).
>
>

If I do:

     git commit --amend -a
     git push origin branchname

it fails. I have to add the -f.


More information about the dmd-internals mailing list