1. Fork
Wherever you want to Implement a new feature or Fix a bug (see below) the best way to work with us is to fork the project in your userspace (in GitHub is called https://github.com/<username>) and to Pull-Request on an ad-hoc branch different from the 'develop'
In order to fork, go to the component of your interest and click on "Fork" on the right-top.
Components are:
Issues generally contain indication about exactly “which” components will be affected
2. Clone
Once forked, you need to clone your fork on your computer using Git command line or any IDE with Git support (Eclipse, NetBeans, Intelli-J, etc...) using the provided info from the component’s page:
git clone <copied_URL_from_GitHub>
cd <cloned_component_name>
3. Branch
Once cloned, create and switch to an ad-hoc branch related to your issue and start coding!
git checkout -b <my_feature_branch_name>
Branch naming convention is <issue code>-<issue_or_solution_title>
, you can ask Jira to produce one for you (e.g. OP-962-session-table-for-log
):
In this way, your developments will be automatically linked to Jira, and also issues’codes typed in GitHub will be converted into links to Jira’s pages.
4. Code
On your "forked-and-cloned-then-branched" you can commit as many times you want, please follow the 'gold rules' below.
Check our Coding Chips!
Double analyze the existing code, don't write what is already written, be DRY (Don't Repeat Yourself)
Dumb code is better than clever one when is time to share
Write comments when only "YOU" know what you are doing
Optimize only after achieved
Less is more!
5. Push
Once finished, tested and ready to share, it's time to push!
By pushing you will reflect your commits on your online fork. After that you can ask a pull-request toward the ad-hoc branch on the original repository.
For better understanding the above and others Git terms you may be helped by this graphical view:
6. Open a Pull Request
Once pushed back to your online fork, it’s time to open a Pull Request in order to get your code reviewed and applied to the official repository
Insert a thorough description in the Pull Request, indicating again the issue code (to ease link to Jira issue’s page), some useful info and whereas the PR is linked to another PR on another component
7. Communicate
Comments and ask under the Jira issue’s page about suggestions, reasoning, findings and for update the community. Be respectful and foster others in sharing their thoughts.
You can reach out to the community of contributors by joining our Slack workspace or by subscribing to our mailing list.
8. Stay tuned!
Very important, keep an eye on new developments landing on the component’s develop (default) branch and periodically resync your fork!
For more info see Git fork syncing (polish your work)
Thanks and happy coding!
0 Comments