All development happens via pull requests. To add a new feature or fix a bug, the developer must create a new branch off
develop, make their changes, and then issue a pull request for another developer to review before the changes get merged back into
Here is an example, using github with username
rms and repository
bitmask_client. You don't need to use github, but it is a friendly way to get started.
Step 1 — Fork on github
Login to github.com as 'rms', browse to https://github.com/leapcode/bitmask_client, and click the fork button.
Now you should have a fork of the code available at
Step 2 — Set up local clone
Clone the upstream repository:
git clone https://leap.se/git/bitmask_client cd bitmask_client
NOTE: Alternately, you can use the github mirror at
https://github.com/leapcode/bitmask_client. It does not matter which one you choose.
Step 4 — Add a "remote" for your fork
Next, you need to add the fork you created on github as an alternate remote in your local repository:
git remote add rms https://github.com/rms/bitmask_client.git
Step 5 — Create a new feature branch
git fetch origin git checkout develop git checkout -b feature/my_new_feature
Step 6 — Hack away
Make all your changes in your
feature/my_new_feature branch, with a separate
git commit for each discrete modification you make.
Step 7 — Prepare for pull request
Once you are happy with your branch, prepare it for a pull request by rebasing on the latest upstream
develop branch. This will also give you an opportunity to clean up your commit history by squashing and changing commit messages.
git fetch origin # ensure the latest git checkout feature/my_new_feature # if not already checked out git rebase -i develop # rebase and clean up commits
Step 8 — Submit pull request
Next, you will push your local feature branch to your fork on github, and then issue a pull request.
git push rms feature/my_new_feature
Then browse to
https://github.com/rms/bitmask_client, where you will see a handy button to issue a pull request. Make sure that the upstream branch is
leapcode/bitmask_client:develop and you are requesting the merge of
developbranch. If they have questions or comments, you will get an email from github.