Skip to content

You should have learned Git#

TL;DR — AI can write code for you, but it cannot replace your ability to manage change. As AI assistants and agents take on more of the work, Git quietly becomes the layer that makes it all safe: the protocol agents speak, the audit log that grounds them in context, and the backbone of Spec-Driven Development. If you're starting your AI journey, don't skip the fundamentals — learn Git first.

Introduction#

Over the last year, I've noticed a recurring pattern. Developers are rapidly adopting AI coding assistants like GitHub Copilot, Claude Code, Cursor, and ChatGPT. Organizations are encouraging employees to weave AI into their daily workflows, and bootcamps are teaching developers how to build entire applications with AI from day one. Yet amid all this momentum, there is one skill that is consistently overlooked: Git.

Ironically, AI has made Git more important, not less. Many fast-track learning programs focus on making developers productive as quickly as possible, with the goal of shipping something tangible in a few weeks. While this approach lowers the barrier to entry, it also skips over one of the most fundamental concepts in software engineering—version control.

Git is too often treated as "that tool you use to push code," when in reality it is the foundation that allows both humans and AI to build software safely.


Git Is More Than Version Control#

Git isn't simply about storing your code. It's about managing change in all its forms:

  • Managing change
  • Understanding history
  • Experimenting safely
  • Collaborating with others
  • Recovering from mistakes
  • Building confidence when refactoring

Every experienced software engineer eventually realizes that Git isn't just another tool—it's part of how modern software is built. And the better your Git skills become, the less afraid you are of making changes, because you always have a way back.


AI Coding Assistants Depend on Git#

Here's something many people don't realize: modern AI development tools don't just generate code—many of them internally operate using Git workflows. When AI agents make changes, they frequently:

  • Create isolated branches
  • Generate commits
  • Compare diffs
  • Apply patches
  • Merge changes back into the project

In other words, Git has quietly become the communication protocol between developers and AI. If you don't understand Git, you're missing the language your AI tools are already speaking.


Git Is the Gateway to Agentic Development#

Using an AI assistant beside your editor is only the beginning. The next evolution is orchestrating multiple specialized AI agents that work together—imagine one agent writing code, another reviewing it, another generating tests, another updating documentation, and yet another validating infrastructure. Coordinating that many AI workers quickly becomes impossible without strong Git fundamentals.

At that point, Git stops being merely a developer tool and becomes the orchestration layer for intelligent software development. Learning Git today is how you prepare for the next generation of AI workflows.


Git Is an Auditing Tool and a Context Provider#

There's another dimension to Git that becomes especially powerful in the age of AI: every commit is a permanent, queryable record of what changed, when, why, and by whom. Git history is, in effect, a built-in audit log of your entire project. This matters for compliance and accountability, but it matters even more as a source of context.

When a human picks up an unfamiliar codebase, the first questions they ask are "how did this get here?" and "why was it written this way?" Git answers both. A git blame, a commit message, or a Pull Request discussion can explain a decision far better than the code alone ever could. The same is true for AI agents: when an agent needs to modify a file, the surrounding history tells it which changes were intentional, which were reverted, and what constraints shaped the current design. The audit trail becomes the context window.

In other words, Git doesn't just record the past—it actively informs future work. For humans, it's institutional memory. For agents, it's grounding. An AI that can read commit history, diffs, and PR context makes better, safer changes because it understands the intent behind the code, not just its current state. As we hand more responsibility to autonomous agents, that traceable, explainable history is exactly what keeps both humans and machines accountable and well-informed.


A Note for Data Professionals#

One interesting exception is the data world. Historically, many data analysts and data scientists worked primarily in notebooks, experiments, and exploratory analysis, where Git wasn't always central to the workflow. But that's changing fast. Modern data teams collaborate more closely, build production pipelines, version their machine learning models, and maintain reusable codebases. As data engineering and AI engineering continue to converge, Git is becoming just as essential in data workflows as it has always been in software engineering.


Why Spec-Driven Development Matters#

As AI generates larger portions of software, prompting alone becomes insufficient. The quality of the output increasingly depends on the quality of the specification. Instead of telling an AI how to write code, you define what should exist—and this is where Spec-Driven Development becomes incredibly valuable. Clear specifications reduce ambiguity, improve consistency, and allow multiple AI agents to work toward the same goal. One project worth exploring is SpecKit for GitHub, which encourages specification-first development workflows designed specifically for AI-assisted engineering.

Git Is the Core of Spec-Driven Development#

Here's the part that ties everything together: a specification is only useful if it can evolve, be reviewed, and be trusted over time. That's exactly what Git provides.

In Spec-Driven Development, the spec is no longer a throwaway prompt typed into a chat box. It becomes a real artifact that lives in your repository, right next to the code it produces. And the moment it lives in the repo, Git becomes its backbone.

Think about how the workflow actually plays out:

  • The spec is versioned like code. Your spec.md, requirements, and acceptance criteria are committed to Git. Every change to what should exist is captured in history, with a clear author, timestamp, and message.
  • Specs are reviewed through Pull Requests. Before a single line is generated, the team can debate and refine the specification using the same review tools they already use for code. The conversation moves upstream—to intent—where it matters most.
  • Diffs make intent changes visible. When a requirement shifts, a Git diff shows precisely what changed in the spec. You can trace why the implementation changed by looking at how the spec changed.
  • The spec and the generated code stay linked. A commit can bundle the spec change and the AI-generated implementation together, so the "what" and the "how" are connected in history. If the code drifts from the spec, that divergence is auditable.
  • Branches let you explore specifications safely. Want to try a different approach to a feature? Branch the spec, let the AI regenerate against it, and compare the results—without risking the main line of work.

This is why Git sits at the center of Spec-Driven Development rather than at the edge. The spec is the source of truth, Git is what makes that source of truth durable, reviewable, and collaborative. AI regenerates code from the spec; Git is what lets humans and agents agree on the spec in the first place.

Without Git, a specification is just a document. With Git, it becomes a living contract that drives the entire system.

As AI becomes more autonomous, specifications become just as important as code—and Git is what keeps those specifications honest.


Learning Git Doesn't Take Months#

The good news is that Git is one of the highest-ROI skills you can learn, and you don't need hundreds of hours to get there. A focused investment of roughly 10–20 hours is enough to become comfortable with the essentials:

  • Cloning repositories
  • Branching
  • Committing
  • Rebasing
  • Merging
  • Resolving merge conflicts
  • Pull Requests
  • Basic Git workflows

Those few hours will save you countless hours throughout your career.


If you want to build the foundations covered in this post, here are the resources I recommend:

  • Learn Git — boot.dev Git course: A practical, hands-on introduction that teaches Git by actually using it rather than memorizing commands. Pair it with real projects and your confidence will grow quickly.
  • Spec-Kit — github/spec-kit: GitHub's toolkit for specification-driven development, designed specifically for AI-assisted engineering workflows.
  • Spec-Kit walkthrough — YouTube: A video walkthrough that shows Spec-Driven Development in action.