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!

Reply via email to