This is just another reason that better branch management would help. If I could add a branch to the AGN repo, it would also appear on my fork, and then I could fold it in without touching this mess.
I don't understand what you're asking. You can create all the branches you want to your clone of the repo: switch to the branch you want to use as the starting point, and type
Code:
git checkout -b nameofbranch
You can't add a branch on the official repository but doing so doesn't even make any sense. All operations you do are local, and have nothing to do with AGN's branches. The only times you need to interact with AGN's repository is (1) when "git pull" or "git fetch"ing new changes from other developers, or (2) when submitting pull requests.

I strongly recommend watching some tutorials like this one. 30 minutes now can save you hours of frustration (mis)using git and then trying to figure out how to fix it.

Is there a --hard version of git push?
Yes, there is a force option. It's almost always a disaster to use unless you really know exactly what you're doing.