I've forked from the main repository (on GitHub) but I'm slightly confused: I had done a fork already in the past, and now it's reusing the same fork instead of creating a new one (one single fork per project per user???). The files in my fork are from a billion years ago. But a fork is not a branch (or is it?) so I don't know how to rebase it on master or "ags3". Should I try that or should I just clone the "regular repo" (not my fork) and create a branch there directly? I've read the guidelines in the sticky thread and they definitely recommend to fork first.
"Fork" is a clone of all repository with all the branches.
Alright, so first of all you need to sync your existing fork with main repository, or at least few active branches (ags3, master)
IMPORANT NOTE: no rebase is necessary, and that will actually be a wrong thing to do (screw many things up).
Here's usual process.
1) Your local repository should have references to both **your** own remote, and **our** remote. It may be in sync with your remote, but you need to also update it to know what has changed in ours.
I don't know which Git UI you are using, if any, but from command line this is done as:
git fetch <our remote name>Here "our remote name" depends on how did you configure it. It does not necessarily match what we use. By default it's often called "upstream", but you may need to check your local settings.
After you did that you should be able to see our remote's state and checkout new branches (such as ags3) in your local place.
2) Checkout branch ags3:
git checkout ags3 <our remote name>/ags3This will create local branch "ags3" synced with our remote one.
3) Then push this branch to *your* remote:
git push origin ags3You may want to configure your repository to bind "ags3" branch with yours remote (otherwise you will be trying to push to ours everytime if you forget to explicitly tell "push origin").
I don't remember how to do this by hand, maybe if you're using some git UI there are easier ways.