
If you've ever commissioned a website or a piece of software, someone has almost certainly used GitHub behind the scenes. You might have heard the word mentioned in a developer update or seen it referenced in a project proposal and quietly moved on. This guide explains what GitHub actually is, how it works, and why it's worth understanding even if you're not writing a single line of code.
Key Takeaways
- GitHub is a web-based platform built on top of Git, an open-source version control system created by Linus Torvalds (the same person who created Linux).
- It lets development teams track every change to a codebase, work on different features simultaneously, and review each other's work before anything goes live.
- Projects can be public (open to anyone to contribute) or private (restricted to named collaborators).
- Understanding GitHub basics helps you have better conversations with your development team and ask the right questions about how your project is being managed.
- It also acts as a portfolio for developers, showing their contributions and coding history to potential clients and employers.
So, What Exactly Is GitHub?
At its simplest, GitHub is a web-based platform that uses Git, an open-source version control system, to help developers store, manage and track changes to their code. Git itself was created by Linus Torvalds, who also built the Linux operating system. GitHub takes Git's core functionality and wraps it in a friendlier interface with a whole layer of collaboration tools on top.
You can think of it a bit like Google Docs for code. Multiple people can work on the same project at the same time, changes are tracked, earlier versions can be retrieved if something goes wrong, and everything is stored in one central place. The difference is that GitHub is built specifically for software projects and goes much further than a document editor ever could.
It's also a community. Projects hosted publicly on GitHub can be contributed to by anyone in the world, which is how most open-source software gets built and improved. That said, private repositories are also supported, so your business's code stays visible only to the people you authorise.
How Does GitHub Actually Work?
A few concepts come up again and again when developers talk about GitHub. Here's what they mean in plain English.
Repositories
A repository (or "repo") is essentially the project folder. It contains all the code files, documentation and the full history of every change ever made. When a developer says they're going to "push something to the repo", they mean they're uploading their latest work to that central project folder.
Branches
Instead of everyone editing the same files at the same time, developers work in branches. A branch is a separate copy of the project where someone can build a new feature or test a fix without touching the main, live version of the code. Once that work is finished and checked, it gets merged back into the main branch. This keeps the live version stable while development continues in parallel.
Commits
Every time a developer saves a meaningful chunk of work, they create a commit. Think of a commit as a dated snapshot of the files at that moment, with a short message explaining what changed and why. This creates a clear, readable history of the project. If a change causes a problem, the team can look back through the commits and pinpoint exactly when things went wrong.
Pull Requests
A pull request is how a developer proposes merging their branch back into the main project. It opens a discussion: other team members can review the changes, leave comments, suggest edits and approve or reject the merge. This is where a lot of the real collaboration happens on GitHub, and it's one of the main reasons development teams favour it over just emailing files back and forth.
Forks and Clones
Forking a repository creates your own personal copy of someone else's project. It's commonly used in open-source work: you fork the project, make your improvements, then submit a pull request back to the original. Cloning does something similar but locally, creating a copy of the repository on your own computer so you can work offline and push changes back to GitHub when you're ready.
Issues and Project Boards
GitHub also has built-in project management tools. Issues are used to log bugs, tasks or feature requests, and they double as a discussion thread where the team can assign ownership, set priorities and track progress. Project boards give a visual overview of where everything stands, with customisable columns like "To Do", "In Progress" and "Done".
What Is Version Control and Why Does It Matter?
Version control is the underlying system that makes all of the above possible. GitHub uses Git's distributed version control model, which means every contributor holds a complete copy of the project, including its full history, not just the latest version. This matters because it means no single point of failure: if one machine goes down, the full history is preserved elsewhere.
Every single change to the codebase is tracked, right down to the individual line. Each commit includes a message explaining what changed and why, so the project's evolution is documented as it goes. Branching and pull requests build on top of this, keeping the main codebase stable while new work is reviewed before it's merged in.
For a business owner, this translates to a few practical benefits:
- Accountability: You can see what was changed, when and by whom.
- Recovery: If an update breaks something, the team can roll back to a working version quickly.
- Parallel work: Multiple developers can work on different parts of your project at the same time without creating chaos.
- Peer review: Code gets checked before it goes live, reducing the chance of errors reaching your users.
GitHub as a Developer Portfolio
One thing worth knowing if you're hiring: GitHub doubles as a professional portfolio for developers. Their public contributions, the projects they've worked on and the quality of their commit history are all visible. When we scope out or take on a custom software project, the team's GitHub activity gives a transparent view of how work is actually being managed day to day, something a CV alone can't show.
What This Means for Your Next Project
You don't need to learn to use GitHub yourself. But knowing what it is helps you ask better questions when you're briefing a development team. Is the codebase in a repository? Are changes going through a review process before they're deployed? Can you access the repository if you ever move to a different agency?
These are reasonable things to ask, and a professional team should have straightforward answers.
If you're planning a bespoke web application, internal tool or customer portal and want to work with a team that manages projects properly, take a look at our custom software development service or get in touch to talk through what you need.
Frequently asked questions
Is GitHub free to use?
GitHub offers free accounts that include both public and private repositories, making it accessible for individuals and small teams. Paid plans add more advanced features for larger organisations.
What's the difference between Git and GitHub?
Git is the underlying version control system, created by Linus Torvalds, that tracks changes to files. GitHub is a web-based platform built on top of Git that adds a user interface, collaboration tools, project management features and a hosting service for your code repositories.
Do I need access to my project's GitHub repository as a client?
It's a reasonable request. Having access to your project's repository means you own the codebase and can move it to another team if needed. A reputable development agency should be happy to provide this.
What is an open-source project on GitHub?
An open-source project is one where the code is publicly visible and anyone can contribute to improving it. GitHub is the most popular platform for hosting open-source projects, which is why so much of the software the web runs on is developed there.
Related services
Need a hand with this? Here's how IceBoxDesigns can help.