🧠Knowledge Series #7: Git and GitHub explained
Pull requests, commits, the command line and more
🔒 🧠The Knowledge Series is a series of easy to read guides designed to help you plug the gaps in your tech knowledge. One topic at a time.
 If you’re a free subscriber and you’d like to upgrade to receive them you can do so below. Or you can find out more about paid access here.
Hi product people 👋,
Microsoft has a mixed history of handling its acquisitions. From the incredible success of its Powerpoint acquisition (yes, Microsoft actually acquired it from another company) through to the less successful more recent acquisitions of Skype and Nokia, the company has spent over $180 billion on acquiring over 200 companies.Â
The largest acquisition Microsoft made was its recent acquisition of Activision games in 2022. One of its most strategically successful acquisitions of all time, though, is GitHub.Â
In this edition of the Knowledge Series, we’ll explore what Git and GitHub is, how it fits into the overall product development process and some of the most important things to know about it if you’re not an engineer.
Coming up:
What are git and GitHub?
What are the most important terms to know if I’m not an engineer?
The future of git: Copilot and GitHub explained
Git
If you look down at your keyboard you’ll notice that the letters g,i and t are close together.
And that’s not a coincidence. Part of the reason git is called git is because it’s easy to type. In the first README note attached to one of the first pull requests, git’s creator, Linus Torvalds, cheekily explained his reasons for calling it git.
GIT - the stupid content tracker
"git" can mean anything, depending on your mood.
- random three-letter combination that is pronounceable, and not
actually used by any common UNIX command. The fact that it is a
mispronunciation of "get" may or may not be relevant.
- stupid. contemptible and despicable. simple. Take your pick from the
dictionary of slang.
- "global information tracker": you're in a good mood, and it actually
works for you. Angels sing, and a light suddenly fills the room.
- "goddamn idiotic truckload of sh*t": when it breaks
This is a stupid (but extremely fast) directory content manager. It
doesn't do a whole lot, but what it _does_ do is track directory
contents efficiently.
As well as being easy to type, git is also a British slang to describe a ‘stupid, despicable person.’ It’s a word that Roald Dahl might use to describe the chef who bakes Bruce Bogtrotter’s cake in Matilda; not quite someone as monstrous as Mrs. Trunchbull but hideous nonetheless.
The difference between git and GitHub
Git itself is the version control system that’s used by engineering teams to track code changes. It’s free and open sourced and typically, this happens via the command line tool.
GitHub, on the other hand, is the place where code repositories are stored. If your company uses GitHub, it’s likely that your company’s code repositories will all be stored on there, too.Â
GitHub stores code in repositories - or repos. The repository that is stored on GitHub.com is known as a remote repository. The repository that’s stored on an engineer’s machine is known as the local repository.
GitHub, unlike git, is a commercial company that charges businesses to use its service. And whilst it’s certainly a leader in the space, there are alternatives like BitBucket and Gitlab who essentially do the same thing as GitHub under a different brand name. The important thing to note here is that the underlying technology (git) is the same across these different providers.
The benefits of using git and GitHub
The main benefit of using Git and GitHub is that they facilitate easily manageable version control. If something goes wrong with your product, the code changes can be easily reverted back to a previous version. That’s version control.Â
Git and GitHub also allow your engineers to work on different branches of code and then create pull requests to merge the code back together again.
How git and GitHub fit into the product development process