We use git and GitHub to develop SAMOA, so you need to open an account at http://github.com first.
In the guide I will assume <user> is your actual GitHub username. I also assume familiarity with git's concepts.
Commands to be entered on the command line are shown in monospace font:
example command
example output
Fork the repository on GitHub
...
You need to have git installed on your local machine.
git clone git@github.com:<user>/incubator-samoa.git
Refer to GitHub's guide if you have trouble using this SSH remote URL (https://help.github.com/articles/which-remote-url-should-i-use).
Now you have a clone of the repository on your local machine. The clone is configured with an origin remote pointing at your GitHub fork.
cd incubator-samoa
git remote -v
origin git@github.com:<user>/incubator-samoa.
...
git (fetch)
origin git@github.com:<user>/incubator-samoa.git (push)
Setup the upstream remote
Now we need to setup a remote pointing to SAMOA's GitHub repository. This remote is useful for contributors to fetch the latest modifications before submitting a pull request, and for committers to fetch pull request to review and merge.
git remote add upstream git@github.com:apache/incubator-samoa.git
git remote -v
origin git@github.com:<user>/incubator-samoa.git (fetch)
origin git@github.com:<user>/incubator-samoa.git (push))
upstream git@github.com:apache/incubator-samoa.git (fetch)
upstream git@github.com:apache/incubator-samoa.git (push)
Create a pull request (PR)
...
For committers
Setup the apache remote remote
As a committer, you have write access to the official Apache git repository. You need to setup a remote pointing to it in order to commit changes.
git remote add apache https://git-wip-us.apache.org/repos/asf/incubator-samoa.git
Fetch pull requests from upstream
https://gist.github.com/piscisaureus/3342247