DEV Community

Cover image for Developer Dictionary: The Story of Git
Bhumi
Bhumi

Posted on • Updated on • Originally published at bhumimakes.com

Developer Dictionary: The Story of Git

This post is part of a resource called Developer Dictionary. More about why I'm writing this here


There are many tutorials, videos, books, and blog posts about the internal workings of Git. This writing is more of a story of Git — what it is, why it exists, and how it came to be.

Why Do We Need Git?

Git is an open source distributed version control system. What does that mean? and what is it good for?

Version Control: Imagine you were editing a document or a spreadsheet with your friends or family members. You're planning a trip and everyone is adding different locations. You'd want to combine (aka merge) everyone's changes and have it all available in the final document right? And you'd want to be able to make these changes at the same time without stepping on each other's toes ideally. It would be to see what the document looked like last week and go back to that older version in case someone messed up something. It would also be nice to see who changed what and when.

A version control system allows for all of the above functionality. Git is one such version control system. We talk about Git in the context of tracking code but it can track any collection of files.

Distributed: This means that each peson has their own copy of the code on their local machine. There is no central server that keeps a master copy of the code. (This distinction is relevant to those familiar with other version control systems prior to Git. Many were centralized and had one master copy of the code).

Open Source: This means that the source code for the tool Git is not proprietary. You can see the code for Git here.
A Taste of Git – Sample Workflow
There is an abundance of terminology related to Git. There are precise definitions and detailed descriptions of each of the term I use below, elsewhere. My goal is to paint a picture for you using broad brushstrokes before you get lost in the details.

A Taste of Git – Sample Workflow

There is an abundance of terminology related to Git. There are precise definitions and detailed descriptions of each of the term I use below, elsewhere. My goal is to paint a picture for you using broad brushstrokes before you get lost in the details.

Continue reading

Top comments (0)