How to contribute#

../../../_images/github_tut.gif

Fig. 62 This page uses Github as a backbone. All it takes is a Github account, which even comes with student benefits. Once connected, feel free to open an issue as per the above - whether suggesting improvements or highlighting bugs.#

GitHub how-to’s and tutorial

GitHub has an extensive documentation available in its GitHub Docs pages, the here-provided information is here to get you started with the basics.

First things first: to contribute, you will need a GitHub account. All it takes is a visit to the signup page. You can even link your personal account with your UNIS email address, giving you additional student benefits.

Once done, you can suggest issues to this module and others by clicking Open Issue, which allows you to open a discussion/ticket in which you can describe what is wrong, provide suggestions, or point out bugs. Alternatively, you can directly suggest changes to the code/text underlying the Geo-SfM module. This is typically done by creating a fork (or split), making changes, and then merging the fork with the main branch again. In addition for allowing another person to review your changes, it also adds your nametag to the change - and provides you with some ownership of the (changed) content.

Creating a fork#

There are several ways in which you can make a fork, as outlined in the GitHub Docs pages. Here, we will use the simplest way to get going, namely, by simply following Fig. 1 and clicking Suggest edit. This will automatically make a fork (or copy) of the repository into your own GitHub account, which you can then revise and edit independently from the source (Fig. 63).

../../../_images/github-limited-rights-fork.png

Fig. 63 As seen here, the user PeterBetlem does not have write access to the jupyter-book repository. As a result, suggesting changes resulted in the creation of a new branch in the fork PeterBetlem/jupyter-book (which is accessible in your Repositories Tab in your account).#

Once you are done with your changes, make sure to Commit changes with a clear message to contribute to your own branch/the fork. Unless you immediate propose changes back to the original branch/repository, your fork will eventually fall behind the original branch. Thus, there is a need to update/sync your fork with the original from time to time. As a rule of thumb, you would like to do this before making any significant changes. A detailed guide on how to sync your fork through the web interface is provided here.

Creating a pull request#

../../../_images/github-fork-request.png

Fig. 64 Webinterface of the forked branch, showing both the Sync fork option as well as the Contribute option.#

Once all desired changes have been made, you may proceed with a pull request. This is done by clicking the Contribute button as illustrated in Fig. 64, and then following along with the different prompts. Make sure to provide a title and description of what your changes entail, and then click the Create Pull Request to forward your changes back to the original repository.

If all went well, your suggestions will be approved shortly - and you can celebrate a job well done! Thank you for contributing.