Introduction to version control
If you’ve ever saved a file as program_v2_final_REALfinal.l5x, you’ve already
felt the problem version control solves.
What is version control?
Section titled “What is version control?”Version control is a system that records changes to a set of files over time. Instead of overwriting your work — or keeping a pile of dated copies — every change is captured as a point in history you can look back on. At any moment you can answer:
- What changed, and exactly how?
- Who made the change, and when?
- Why — because each change carries a short message describing it.
And because the full history is preserved, you can always return to an earlier version if something goes wrong.
What is Git?
Section titled “What is Git?”Git is the most widely used version control system in the world. It was created in 2005 to manage the Linux kernel and has since become the standard tool software teams use to track their code.
A few ideas make Git powerful:
- Snapshots, not just edits. Each saved version — a commit — is a complete snapshot of your project at that moment, so the history is reliable and easy to navigate.
- It’s distributed. Every copy of a Git project contains its entire history. Nothing depends on one machine staying alive.
- It’s open and everywhere. Git is free and open-source, with an enormous ecosystem of tools and services built around it.
Why is it useful?
Section titled “Why is it useful?”Version control turns a handful of everyday headaches into solved problems:
- A clear history. See every version of a program and how it evolved — no more guessing which file is current.
- Accountability. Every change is tied to a person and a moment, with a message explaining the intent. That’s an audit trail by default.
- Review before changes ship. A change can be inspected — and approved — by a second person before it reaches production.
- Confidence to experiment. Because you can always go back, you can try something without fear of losing the working version.
- Collaboration without collisions. Several people can work on the same project and combine their changes in an orderly way.
Why it matters for automation
Section titled “Why it matters for automation”In software, these benefits are taken for granted. In industrial automation they’ve been hard to get, because PLC programs are usually stored as opaque files inside vendor tools. Yet the stakes are higher: this code drives physical equipment, where an unreviewed or untraceable change can stop a line — or worse.
Bringing real version control to automation means the same safety net software teams rely on: a dependable history, a review step, and the ability to recover a known-good version on demand.
How Spyke fits in
Section titled “How Spyke fits in”Spyke brings this workflow to PLC code. It stores your program history in plain Git, so you get everything above — durable history, attribution, recovery — without having to become a Git expert. On top of that, Spyke understands program structure, so changes are shown the way an engineer thinks about them rather than as raw text. (More on that in How semantic diffs work.)
New to Spyke? The getting-started tutorial walks you through putting your first program under version control.