What Git actually is
Git is a version control system: a tool that tracks every change ever made to a set of files, who made it, when, and why, and lets you move between any of those versions at will. It’s distributed, meaning every copy of a repository (a project tracked by Git) carries the full history, not just the latest snapshot. That matters more than it sounds: there is no single central server whose loss wipes out the project’s past, every clone is a complete backup of everything that happened.
Git was created in 2005 by Linus Torvalds, the same person behind the Linux kernel, specifically to manage that kernel’s own development. Today it is, by a wide margin, the most widely used version control system in the world, for open source and corporate code alike.
Why a security team ends up living in Git, whether it plans to or not
- Infrastructure as code. Firewall rules, cloud configuration, and detection rules increasingly live as files in a Git repository rather than as settings clicked into a console somewhere. A misconfigured rule, tracked this way, carries a commit author, a timestamp, and a message explaining the change, exactly the information an investigation needs first.
- The software supply chain runs on Git. Nearly all software, open source and internal, moves through Git-based workflows before it reaches production. Understanding Git well is what lets you actually follow a supply-chain security advisory instead of taking its conclusions on faith.
- It’s a hard-to-fake audit trail. Once a commit is shared and other people have copies of it, quietly rewriting history without anyone noticing is genuinely difficult, especially with the protections later lessons and the next track cover. That resistance to quiet tampering is exactly why Git history is trusted as a record of what happened.
None of this requires you to be a software developer. It requires you to be comfortable reading and reasoning about a tool that, more and more, is where the evidence already lives.
Installing and checking your setup
Open a terminal and check whether Git is already installed:
git --version
If that printed a version number, you’re set. If it didn’t, install Git from the official git-scm.com downloads page, which has installers for Windows, macOS, and Linux, then run the command above again to confirm.
Now tell Git who you are. Every commit you make will be permanently stamped with this name and email, it’s literally the “who” in the audit trail described above, so use your real identity rather than something generic:
git config --global user.name "Your Name"
git config --global user.email "you@example.com"
--global applies this to every repository on your machine, not just one. You can check it worked:
git config --global user.name
git config --global user.email
Creating your practice space
Just like the other hands-on tracks, you’ll reuse one dedicated folder for every exercise in this track:
mkdir git-fundamentals
cd git-fundamentals
From here on, whenever a lesson says “in your terminal,” assume it means from inside this folder unless it says otherwise.
What to notice
- Every commit is permanently labeled with a name and email, set once with
git config --global, which is exactly why that identity should be real rather than a placeholder. - Because Git is distributed, every clone is a full copy of the project’s history, not just its latest state.
- Infrastructure-as-code and detection-as-code are why security work increasingly means reading Git history directly, not just reading a dashboard built on top of it.