#git#ai-coding#version-control#workflow

Git for AI Coding: What's Missing

Git is essential for version control, but AI-assisted development exposes a gap. Here's what's missing and how to fill it.

Git is one of the best developer tools ever made. It’s been the backbone of software development for nearly two decades, and for good reason.

But when you’re coding with AI assistants, you start to notice a gap.

What Git Does Well

Git was designed for deliberate, discrete changes. A developer decides to make a change, works on it, stages files, writes a commit message, and moves on. This creates a clean, meaningful history that you can review, share, and deploy from.

For traditional development, this works beautifully. You’re in control of each change and have the mental context to describe what you did and why.

Where the Gap Appears

AI-assisted development works differently. When you’re iterating with Cursor or Claude Code:

  • A single task might involve dozens of file changes across multiple attempts
  • You try different approaches before finding one that works
  • Changes happen faster than you can meaningfully review them
  • The AI might modify files you didn’t ask about

In practice, developers either:

  • Stop committing during AI sessions (because it breaks flow)
  • Create messy checkpoint commits (“before AI”, “trying again”, “WIP”)
  • Occasionally lose work when AI takes things in an unexpected direction

Git is doing exactly what it was designed to do. AI coding just doesn’t match the assumptions git was built around.

The Core Issue

Git requires intentional action to record state. You have to decide to commit, and you have to write a message.

This is great for creating meaningful project history. But it adds friction during rapid iteration, and AI iteration is very rapid.

When an AI assistant is making changes quickly and you’re focused on reviewing and guiding those changes, stopping to commit feels like an interruption. So you skip it. And then AI deletes something you needed.

What’s Missing

The gap is continuous protection during iteration.

Git protects what you commit. But between commits, you’re unprotected. And with AI coding, “between commits” is when most of the action happens.

You need something that:

  • Captures every change automatically
  • Doesn’t require decisions or messages
  • Works alongside git, not instead of it
  • Lets you recover to any point, not just commits

Filling the Gap

mrq adds the missing layer. It runs in the background and captures every file change automatically:

npm install -g mrq-cli
mrq watch

Now every change is recorded, from AI, from manual edits, from anything. When AI breaks something:

mrq restore abc123

Back to exactly where you were, even if you never committed.

Git + mrq: The Complete Stack

You don’t need to replace git. You need to add what git doesn’t do.

LayerToolPurpose
Intentional historyGitClean commits, collaboration, deployment
Continuous protectionmrqEvery state recoverable, no gaps

The workflow:

# Start working
mrq watch                    # Continuous protection starts

# Iterate with AI
# Changes captured automatically

# Hit a milestone
git commit -m "Feature complete"   # Clean history

# Something broke?
mrq restore abc123           # Recover from any point

Git handles what git is good at: meaningful history, collaboration, code review, deployment pipelines.

mrq handles what’s missing: continuous protection during the messy iteration phase.

Summary

Git is essential. But AI coding exposes a gap between commits where you’re unprotected.

More discipline about committing rarely works in practice. Automatic protection that doesn’t require discipline does.

Use git for intentional milestones. Use automatic snapshots for everything in between.


mrq adds continuous protection to your git workflow. Every change captured, instant recovery when AI breaks things.

Written by mrq team