OK, so what you do is you fork the Phobos repo. You then set up
your local clone like so:
$ mkdir phobos
$ cd phobos
$ git init .
$ git remote add upstream
g...@github.com:D-Programming-Language/phobos.git
$ git remote add origin
g...@github.com:YourUserNameHere/phobos.git
$ git fetch origin && git fetch upstream
$ git checkout -b master origin/master
Now you have a working directory and a local master branch set
up to track your fork's remote master branch.
Now you simply add commits to your repo, push them to GitHub
(git push origin master), and send a pull request to the
upstream Phobos repository.
Synchronizing with upstream can basically be done like so:
$ git fetch upstream
$ git pull --rebase upstream master
$ git push origin master -f
This fetches the latest changes from upstream, unrolls your
fork's commits, adds in upstream's commits, then readds your
fork's commits, and finally, force-pushes your local branch to
your remote branch (the force push is necessary because you
rewrite history, which is OK in your personal fork).
Oooh... so I actually need to fork! I didn't know that. (I
thought it was for when you want to make a different project
based on something, not just commit to an existing project.)
Awesome, I'll try that; thanks!