Version Control
Git workflows and versioning best practices
Best Practices
Semantic Versioning 2.0.0
Consistent MAJOR.MINOR.PATCH versioning rules for APIs and packages.
by SemVer.OrgConventional Commits Spec
Machine-readable Git commit messages enabling automated changelogs and semantic releases.
by Conventional Commits InitiativeTrunk-Based Development Guidelines
Branching strategy promoting short-lived branches, frequent commits to trunk, and feature flags.
by Paul HammantGitHub Flow
A lightweight, branch-based workflow built around short-lived feature branches, pull requests, and continuous deployment from a single always-deployable main branch.
by GitHubGitFlow 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.
by Vincent DriessenPipeline as Code
Defining CI/CD pipelines in version-controlled configuration files stored alongside the application, so the delivery process is reviewable, reproducible, and auditable.
by Jenkins (CloudBees)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.
by pre-commit (Anthony Sottile)Configuration as Code
Managing application and system configuration in version-controlled, machine-readable files instead of manual settings, making configuration reviewable, auditable, and reproducible.
by ThoughtWorksInnerSource
InnerSource applies open source development practices inside an organization, letting teams share, contribute to, and reuse internal code through transparent, contribution-friendly repositories.
by InnerSource Commons FoundationDocumentation 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.
by Write the Docs communityKeep 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.
by Olivier Lacan / Keep a ChangelogTutorials
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.