To start developing stationsimcpp your first steps should be to:
- Compile from source, see INSTALL.md.
- Run the examples or create your own, see EXAMPLES.md
We use the git flow workflow. The steps are:
-
Fork the stationsimcpp repository
-
Add the original stationsimcpp develop repository as a remote, and check out locally.
cd stationsimcpp git remote set-url --push origin https://github.com/YOUR_USERNAME/stationsimcpp git remote add upstream https://github.com/avramidis/stationsimcpp git branch develop git checkout develop git pull --rebase upstream develop
The steps until here only need to be executed once, with the exception being the last command: rebasing against the development branch. You will need to rebase every time when the develop branch is updated.
-
Create a feature branch (from develop)
git branch feature/BRANCH_NAME
-
In you branch fix bug or add feature. If you add a feature create an example showing this feature.
-
Make sure that locally, your code compiles and and all examples run.
-
Commit locally, using neat and informative commit messages, grouping commits, potentially iterate over more changes to the code,
-
Rebase against stationsimcpp's develop branch. This might cause rebase errors, which you need to solve
git pull --rebase upstream develop
-
Push your commits to your fork
git push origin feature/BRANCH_NAME
If you squashed or amended commits after you had pushed already, you might be required to force push via using the
git push -f
option with care. -
Send a pull request via GitHub. As described above, you can always update a pull request using the the
git push -f
option. Please do not close and send new ones instead, always update. -
Once the PR is merged, keep an eye on the CI to see whether your patch broke something.
- All examples must work.
- The PR is clean and addresses one issue or implements one feature.
- The number of commits is minimal and the message is neat and clear.