Version Control

Tools

Git for version control, GitHub for hosting and collaboration.

Behavior-centric commits

Organize Git commits around meaningful changes in system behavior, not technical layers.

A behavior-centric commit strategy structures version control around observable changes in what the system does. Instead of grouping commits by technical components, changes are organized by behavioral intention.

Each commit represents a single meaningful change in system behavior. The commit message describes the outcome of that change, and all related modifications (code, tests, configuration) required to achieve that behavior are included together. Unrelated refactoring is handled in separate commits.

Principles

  • One commit = one behavioral change
  • Commit messages describe outcomes, not implementation details
  • All related changes are grouped together
  • Refactoring unrelated to the behavior is committed separately