Use when making any code change. Use when committing, branching, resolving conflicts, or when you need to organize work across multiple parallel streams.
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Git Workflow and Versioning
## Overview
Git is your safety net. Treat commits as save points, branches as sandboxes, and history as documentation. With AI agents generating code at high speed, disciplined version control is the mechanism that keeps changes manageable, reviewable, and reversible.
## When to Use
Always. Every code change flows through git.
## Core Principles
### 1. Commit Early, Commit Often
Each successful increment gets its own commit. Don't accumulate large uncommitted changes.
```
Work pattern:
Implement slice → Test → Verify → Commit → Next slice
Not this:
Implement everything → Hope it works → Giant commit
```
Commits are save points. If the next change breaks something, you can revert to the last known-good state instantly.
### 2. Atomic Commits
Each commit does one logical thing:
```
# Good: Each commit is self-contained
git log --oneline
a1b2c3d Add task creation endpoint with validation
d4e5f6g Add task creation form component
h7i8j9k Connect form to API and add loading state
m1n2o3p Add task creation tests (unit + integration)
# Bad: Everything mixed together
git log --oneline
…
The line at the top of this page pins the label git:20260215.9434558, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
GET https://markdownregistry.com/api/v1/artifacts/art_6rge5oxx35rdgnvh
GET https://markdownregistry.com/api/v1/resolve?ref=lll0k0lad/agent-skills/git-workflow-and-versioning
GET https://markdownregistry.com/api/v1/blob/05e51ba642a86d11c53a9aa56674cb2522bc71a269c9633a40310e3417317505
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
lll0k0lad/agent-skills · skills/api-and-interface-design/SKILL.md · Use when designing APIs, module boundaries, or any public interface. Use when creating REST or GraphQL endpoints…
lll0k0lad/agent-skills · skills/browser-testing-with-devtools/SKILL.md · Use when building or debugging anything that runs in a browser. Use when you need to inspect the DOM, capture console…
lll0k0lad/agent-skills · skills/ci-cd-and-automation/SKILL.md · Use when setting up or modifying build and deployment pipelines. Use when you need to automate quality gates, configure…
lll0k0lad/agent-skills · skills/code-review-and-quality/SKILL.md · Use before merging any change. Use when reviewing code written by yourself, another agent, or a human. Use when you…
lll0k0lad/agent-skills · skills/context-engineering/SKILL.md · Use when starting a new session, when agent output quality degrades, when switching between tasks, or when you need to…
lll0k0lad/agent-skills · skills/debugging-and-error-recovery/SKILL.md · Use when tests fail, builds break, behavior doesn't match expectations, or you encounter any unexpected error. Use when…
lll0k0lad/agent-skills · skills/documentation-and-adrs/SKILL.md · Use when making architectural decisions, changing public APIs, shipping features, or when you need to record context…
lll0k0lad/agent-skills · skills/frontend-ui-engineering/SKILL.md · Use when building or modifying user-facing interfaces. Use when creating components, implementing layouts, managing…
lll0k0lad/agent-skills · skills/idea-refine/SKILL.md · Refine ideas through structured divergent and convergent thinking. Use "idea-refine" or "ideate" to trigger.
lll0k0lad/agent-skills · skills/incremental-implementation/SKILL.md · Use when implementing any feature or change that touches more than one file. Use when you're about to write a large…
addyosmani/agent-skills · skills/git-workflow-and-versioning/SKILL.md · Structures git workflow practices. Use when making any code change. Use when committing, branching, resolving…
sandbaseai/sandbase-skills · marketing/git-workflow-and-versioning/SKILL.md · Plan, implement, or review git workflow and versioning work in an existing codebase with compatibility, security, and…
shashankswe2020-ux/whoop-mcp · .github/skills/git-workflow-and-versioning/SKILL.md · Structures git workflow practices. Use when making any code change. Use when committing, branching, resolving…
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-codex/.agents/skills/git-workflow-and-versioning/SKILL.md · Structures git workflow practices. Use when making any code change. Use when committing, branching, resolving…
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-claude/.claude/skills/git-workflow-and-versioning/SKILL.md · Structures git workflow practices. Use when making any code change.
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-forgecat/platforms/cursor/.cursor/skills/git-workflow-and-versioning/SKILL.md · Structures git workflow practices. Use when making any code change. Use when committing, branching, resolving…
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-forgecat/platforms/codex/.agents/skills/git-workflow-and-versioning/SKILL.md · Structures git workflow practices. Use when making any code change. Use when committing, branching, resolving…
nota-america/forgecat-agent-profiles · profiles/addyosmani/agent-skills/for-forgecat/skills/git-workflow-and-versioning/SKILL.md · Structures git workflow practices. Use when making any code change. Use when committing, branching, resolving…