The preferred workflow for contributing to Harmony’s repository is to fork the main repository on GitHub, clone, and develop on a new branch.
Please read our general guide about contributing to Harmony.
We have three main repositories on Github under the harmonydata
organisation:
This contributor guide focuses on the Python library, but you could follow the same steps for the other repositories.
git clone git@github.com:harmonydata/harmony.git
cd harmony
git remote -v
git remote add upstream <https://github.com/harmonydata/harmony.git>
git remote -v
\> origin <https://github.com/<username>/Harmony.git> (fetch)
\> origin <https://github.com/<username>/Harmony.git> (push)
\> upstream <https://github.com/harmonydata/harmony.git> (fetch)
\> upstream <https://github.com/harmonydata/harmony.git> (push)
git fetch upstream
git checkout main
git merge upstream/main
git checkout main
git checkout -b <feature-branch>
Always use a feature branch. It’s good practice to never work on the main branch! Name the feature branch after your contribution.
git add <modified_files>
git commit
git push --set-upstream origin my-feature-branch
Note
We recommend to open a pull request early, so that other contributors become aware of your work and can give you feedback early on.
Note
If any of the above seems like magic to you, look up the Git documentation. If you get stuck, chat with us on Discord, or contact us at harmonydata.ac.uk.