Meet
Git & GitHub
What It Is
Git is a distributed version control system that tracks changes to files over time. Every copy of a Git repository is a full snapshot of the project history, not just a working copy. GitHub is the most widely used platform for hosting Git repositories and layering collaboration tools on top: pull requests, code review, issue tracking, and CI/CD through Actions.
Why It Matters
Before distributed version control, teams shared code through centralised systems where a server outage or network issue could block everyone. Git changed the model fundamentally. Every engineer has the full history locally, can branch freely, and can work offline. Merging became something you do constantly rather than dread.
GitHub then solved the social layer. Open source became drastically easier to contribute to. The pull request workflow standardised how teams review code, creating a paper trail, a forcing function for discussion, and a natural gate before changes reach production.
In Practice
- Branching strategies: Git makes creating a branch nearly free. Patterns like trunk based development or GitFlow emerge from this cheapness and shape how teams coordinate work without stepping on each other.
- Pull requests as collaboration units: a PR is not just a code change. It is a context window. The description, linked issue, and review thread together tell the story of why the code exists. That record is searchable years later.
- GitHub Actions: CI/CD configured as code alongside the repository. Tests run on every push, environments deploy on merge, and the whole pipeline sits in version control and is fully auditable.
- Code review culture: automated checks catch style and correctness issues early, but human review is where architecture, naming, and intent get shaped. GitHub makes this friction low enough that teams actually do it.
Key Insight
Git is often taught as a save mechanism, but it is better understood as a communication tool. Commits are messages to future engineers, including your future self. A repository with expressive commit history and clearly structured branches tells the story of a codebase’s evolution far better than any documentation, and unlike documentation, it stays current by default.
Got a tool worth spotlighting?
If you have worked with something interesting and want to share why it matters, let’s talk.
Get in Touch