Ryan X. Charles
11 years ago
3 changed files with 88 additions and 3 deletions
@ -0,0 +1,84 @@ |
|||||
|
Contributing to Bitcore |
||||
|
======= |
||||
|
|
||||
|
Are you a developer looking to learn more about bitcoin? |
||||
|
Bitcore is a great opportunity to do so, and give back to |
||||
|
the community. At BitPay we encourage any developer to read the source |
||||
|
code and help us improve it by fixing bugs, implementing |
||||
|
new exciting features, and testing existing code. |
||||
|
|
||||
|
Pull requests are the standard mechanism by which you contribute code to open-source projects. |
||||
|
To do so, start by forking our repo on GitHub. Go to |
||||
|
[github.com/bitpay/bitcore](https://github.com/bitpay/bitcore) |
||||
|
and click the 'Fork' button. You'll get your own fork of the repository which will look something like this: |
||||
|
``` |
||||
|
https://github.com/user/bitcore |
||||
|
``` |
||||
|
|
||||
|
Then clone your fork on your machine: |
||||
|
``` |
||||
|
git clone git@github.com:user/bitcore && cd bitcore/ |
||||
|
``` |
||||
|
|
||||
|
Add the official repo as a remote, to track our changes: |
||||
|
``` |
||||
|
git remote add bitpay git@github.com:bitpay/bitcore.git |
||||
|
``` |
||||
|
|
||||
|
Create a new branch for the changes you are going to contribute, with a relevant name. Some examples: |
||||
|
``` |
||||
|
git checkout -b test/some-module |
||||
|
git checkout -b feature/some-new-stuff |
||||
|
git checkout -b fix/some-bug |
||||
|
git checkout -b remove/some-file |
||||
|
``` |
||||
|
|
||||
|
Work on your changes: |
||||
|
``` |
||||
|
vim somefile.txt |
||||
|
git add somefile.txt |
||||
|
git commit -a -m"adding somefile.txt" |
||||
|
``` |
||||
|
|
||||
|
When you think your code is ready, update your branch by |
||||
|
getting the changes from the main repo first, as there may have been |
||||
|
changes while you were working: |
||||
|
``` |
||||
|
git pull --rebase bitpay master |
||||
|
``` |
||||
|
(You may need to solve any conflicts from the rebase at this point.) |
||||
|
|
||||
|
Note that we require rebasing your branch instead of mergeing it, for commit readability reasons. |
||||
|
|
||||
|
A final and important step is to run the tests and check they all pass. |
||||
|
This is done by running `mocha` in the project's directory. You'll also |
||||
|
need to check that tests pass in the browser, by running: |
||||
|
`grunt shell` and opening the `bitcore/test/index.html` file in your |
||||
|
browser. |
||||
|
|
||||
|
After that, you can push the changes to your fork, by doing: |
||||
|
``` |
||||
|
git push origin your_branch_name |
||||
|
git push origin feature/some-new-stuff |
||||
|
git push origin fix/some-bug |
||||
|
``` |
||||
|
|
||||
|
Finally go to [github.com/bitpay/bitcore](https://github.com/bitpay/bitcore) in your |
||||
|
web browser and issue a new pull request. GitHub normally recognizes you have pending |
||||
|
changes in a new branch and will suggest creating the pull request. If it doesn't, you can |
||||
|
always go to [github.com/bitpay/bitcore/compare](https://github.com/bitpay/bitcore/compare) and |
||||
|
choose the correct forks and branches. |
||||
|
|
||||
|
Main contributors will review your code and possibly ask for |
||||
|
changes before your code is pulled in to the main repository. |
||||
|
We'll check that all tests pass, review the coding style, and |
||||
|
check for general code correctness. If everything is OK, we'll |
||||
|
merge your pull request and your code will be part of bitcore. |
||||
|
|
||||
|
If you have any questions feel free to post them to |
||||
|
[github.com/bitpay/bitcore/issues](https://github.com/bitpay/bitcore/issues). |
||||
|
|
||||
|
Thanks for your time and code! |
||||
|
|
||||
|
|
||||
|
|
Loading…
Reference in new issue