-
Notifications
You must be signed in to change notification settings - Fork 0
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:
- Create a branch
- Make changes
- Create a pull request
- Address review comments and ensure all workflows pass
- Merge your pull request
- 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
- When merging a feature branch into main, squash your commits unless you have a specific reason not to
- 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
- Event Handling: Communication between plugins
- Dataset Handling
- Querying standard paths
- Dataset handles
- Plugin structure
- Writing your first plugin
- Dropping datasets on the plugin
- Learning center (coming soon!)
- Action GUI building blocks