Version Control
24 items tagged with "version-control"
Best Practices14
Semantic Versioning 2.0.0
Consistent MAJOR.MINOR.PATCH versioning rules for APIs and packages.
Conventional Commits Spec
Machine-readable Git commit messages enabling automated changelogs and semantic releases.
Trunk-Based Development Guidelines
Branching strategy promoting short-lived branches, frequent commits to trunk, and feature flags.
GitHub Flow
A lightweight, branch-based workflow built around short-lived feature branches, pull requests, and continuous deployment from a single always-deployable main branch.
GitFlow Branching Model
A structured Git branching model using long-lived main and develop branches plus dedicated feature, release, and hotfix branches to coordinate scheduled releases.
Pipeline as Code
Defining CI/CD pipelines in version-controlled configuration files stored alongside the application, so the delivery process is reviewable, reproducible, and auditable.
Pre-Commit Hooks Automation
Automating checks such as formatting, linting, and secret scanning that run on every Git commit, catching issues locally before they ever reach the shared repository.
Configuration as Code
Managing application and system configuration in version-controlled, machine-readable files instead of manual settings, making configuration reviewable, auditable, and reproducible.
Data Version Control (DVC)
Versioning datasets, models, and ML pipelines alongside code so experiments are reproducible, using Git for metadata and external storage for large files.
Code Review Best Practices
Guidance for effective, fast, and respectful code review, drawn from Google's engineering practices, to improve code health over time.
InnerSource
InnerSource applies open source development practices inside an organization, letting teams share, contribute to, and reuse internal code through transparent, contribution-friendly repositories.
Architecture Decision Records (ADRs)
An Architecture Decision Record (ADR) is a short, version-controlled document that captures one significant architectural decision, its context, and its consequences for future maintainers.
Documentation as Code
Documentation as Code treats docs like software: stored in version control, written in plain text, reviewed in pull requests, and published automatically through continuous integration.
Keep a Changelog
Keep a Changelog is a convention for writing human-readable, chronologically ordered changelogs grouped by change type, so users and maintainers can see what changed in each release.
Tutorials3
How to set up pre-commit hooks for a repository
Use the pre-commit framework to run linters and formatters automatically before each commit across a team.
How to adopt a trunk-based development workflow
Move to short-lived branches and continuous integration into a single trunk, using feature flags to ship safely.
Commit the Drift Baseline to Your Repository
Check your baseline file into version control so every developer and CI run compares against the same shared drift reference.
Comparisons2
Monorepo vs Polyrepo
A monorepo stores many projects in one repository; a polyrepo splits them across many. The choice shapes code sharing, tooling, and team autonomy.
DVC vs Git LFS
DVC and Git LFS both version large files alongside Git. DVC targets ML data and pipelines; Git LFS is a general-purpose large-file extension.
FAQs3
How do I create a drift baseline?
Run vg baseline to perform a full scan and save the result to .vibgrate/baseline.json. This snapshot becomes your reference point for measuring whethe...
Should I add .vibgrate to .gitignore?
Add .vibgrate/scan_result.json to .gitignore (it changes on every scan). Keep .vibgrate/baseline.json in version control so CI can compare against it ...
What is GitOps?
GitOps is an operational model where the desired state of infrastructure and applications is declared in a Git repository, and an automated controller...