What is Git? Part One
If you’ve frequented the tech scene a bit, or have spent some time in the presence of web developers, it’s likely that you may have heard of “Git”, “GitHub” or “BitBucket” at some stage during a conversation. You may have even come across the adorable GitHub logo of an octopus crossed with a kitten floating around the internet:
If you’re a non-techie, like me, and wondered what on earth ”Git” actually is, then you’re not alone. A recent poll of digital marketing managers discovered that despite whilst more than 80% of them had heard of Git before, less than half could even describe what it did or what it was used for.
In this article, we break down exactly what Git is, and what it’s used for. Part two of our article will break down some of its associated jargon, so that the next time you’re working with a developer and overhear him say “I’ve just committed the latest changes to GitHub”, you’ll know exactly what he’s talking about.
Like most things tech, the idea of Git is a little intimidating at first but embodies a very simple idea. As described on its website, Git is essentially:
"a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency." git scm
In other words, it allows groups of developers to collaborate on the same documents (often source code) simultaneously and without overriding each other’s work.
Have you ever worked on a Word document with somebody else that may be stored in say, Dropbox, only to discover that you both worked on it at the same time? What happens? Often, you override each other’s changes, download conflicting copies or simply lose your collaborator’s work. Git helps developers alleviate all of these issues.
Git also tracks the history of changes to a project’s source code, including what specifically has been changed, who has changed what and when. This is called Version Control.
Version control is “a system that records changes to a file or set of files over time so that you can recall specific versions later.”
It allows you to track what you and your colleagues have worked on so you don’t clash with or override each other’s changes. Even when developers work on each other’s files at the same time, Git’s version control system will inform them that they’re about to overwrite somebody else’s work!
So where does ‘GitHub’ come into it?
Depending on who you talk to, GitHub can be referred to as multiple different things:
• A publishing tool
• A version control system
• A collaboration tool
Ultimately, GitHub is all of these things combined and more. GitHub allows developers to host their files in a ‘Git Repository’ so that other people can collaborate on projects with them, whether they are open for public contribution (open source) or closed for specific colleagues to work on a private project. The idea is not dissimilar to the way Google Docs lets you host your word processing and spreadsheet files and opens them up for collaboration, though developers do not work on the same documents together in real time or make changes directly in the browser.
One of the most common misconceptions about GitHub is that non-technical professionals, such as marketers, perceive the platform as purely a tool for developers. Interestingly, GitHub’s social dynamics and resource-sharing capabilities far more closely resemble that of a social network - and all marketers can appreciate the power and utility of social networks.
GitHub’s thriving community of 12 million+ members can ”favorite” repositories they like, make comments on them, monitor and subscribe to different authors and repositories for updates or simply make a copy of somebody else’s content (source code) and start hacking together their own changes and improvements to them.
Git, together with GitHub and other similar services, is what helps drive much of the innovation that makes the internet the productive behemoth it is today. Why not check out Core dna’s GitHub profile and say hi!