I just emailed Weimin personally when I saw the branch creation,
but now I understand a little better:
I just did my first patch:
$ git push upstream fixes
Enter passphrase for key '/home/wepan/.ssh/id_rsa':
Counting objects: 17, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (10/10), done.
Writing objects: 100% (10/10), 2.43 KiB, done.
Total 10 (delta 8), reused 0 (delta 0)
To ssh://sourceware.org/git/binutils-gdb.git
0f59d5f..c9cf730 fixes -> fixes
and hope I did it correctly.
Actually, no :).
What you did is you pushed your branch called locally "fixes"
to the repository corresponding to "upstream". So, when you did
the "push" command above, what happened is that it created
the "fixes" branch on the upstream repository. This is not
what you want, because (1) it creates a branch on the remote
where you fix is (and pollutes the already existing branches),
and (2) does not change the "master" branch, and so your fix
is not really applied to the current development branch either.
With your permission, I will start by fixing the mistake, which
was to create the "fixes" branch on the upstream repository.
On your end, I think the simplest solution is for you to
push your current "fixes" branch to upstream's master:
$ git push upstream fixes:master