- Fork the repository :)
- Create a branch with a short and self explanatory name in your fork.
- Clone your new branch and add commits with detailed and descriptive commit logs.
- When your are ready, first make sure that you're in sync with the upstream repository. Then create a pull request from the repository page.
- Follow up with the automated and manual code review process to merge your request in the master.
If the upstream is updated after you have crated your pull-request, please rebase your branch with all the latest commits on top of master before submitting your pull-request again.
- Organize your codes in appropriate packages
- Document your code thoroughly.
- Write lots and lots of tests.
- Test everything before creating the pull request.
- Pull changes from upstream master before submitting your pull request.
- As a rule of thumb, always do a
rebase
unless someone else is simultaneously working on your branch.