The content of this page is largely taken from the GitHub-blog.
Go to the official OGS-6 repository and click the “Fork”-button. This creates a new fork under your account with the URL
You can use the git command line tool to clone the remote repository on GitHub to your PC:
This creates a new folder
ogs in your current working directory with the OGS source code. After this step, the remote called
origin refers to your fork on GitHub. It also sets the default remote for pushes to be
origin and the default push behavior to
current. Together this means that if you just type
git push, the current branch is pushed to the
origin remote (git version >= 2.5 required).
Create a second remote called
upstream that points at the main OGS repository and fetch from it:
Git hooks help to check for several issues before doing commits or pushes and it is highly recommended to enable these checks.
Install pre-commit (a git hook manager) via Pythons
Enable the hooks in the source code with:
You only have to follow the above steps once. From then on, whenever you want to work on a new feature, you can more easily interact with the remote repositories.
Make sure that your local repository is up-to-date with the upstream repository:
Create a branch
feature-name off of upstream
master-branch to work on a new feature, and check out the branch:
This automatically sets up your local
new-feature-branch to track the upstream
master-branch. This means that if more commits are added to
master upstream, you can merge those commits into your
feature-branch by typing
or rebase your branch on top of the new master by typing
Now after you implemented the feature and committed your work you can push the new commits to the
feature-name-branch on your GitHub fork:
If your work is done submit a pull request.
This workflow is summarized with this picture: