Skip to content

Best practices for version control

Thomas Kroes edited this page Dec 18, 2025 · 1 revision

The main collaborative development of ManiVault takes place on github.com/ManiVaultStudio using git. Here is a collection of best practices for version control and collaboration within this project:

  • Follow the GitHub flow development strategy:
    1. Create a branch
    2. Make changes
    3. Create a pull request
    4. Address review comments and ensure all workflows pass
    5. Merge your pull request
    6. Delete your branch
    • For additional context, have a look at other development strategies like more trunk-based approaches or git-flow
  • Keep your commit messages clean:
    • Keep commits small and focused
    • Write descriptive commit messages
  • Prefer squash-commits over merge-commits:
    • When merging a feature branch into main, squash your commits unless you have a specific reason not to
      • Examples for when not to squash: merging from a feature branch into another feature branch to keep a full commit history for easier reviewing on PRs to master
    • You can change the merge type on the PR page
  • Release branches should be regarded as frozen:
    • Do not develop new features based on release branches
    • Do not branch of from release branches
    • Only cherry-pick changes (e.g. fixes) from main to release branches
  • Avoid committing generated or binary files by keeping .gitignore file up-to-date
  • Make your life easier with a git GUI client and the git cheat-sheet

Clone this wiki locally