What the F+ck is GIT?

jay.dez
2 min readJan 20, 2023

--

Story

Tonight I am venturing into the world of GIT, whatever that is.

Months ago when I was first starting with programming lessons, I stumbled upon an article about “where to start”. This influencer mentioned he started with CS50 (Harvard's free online intro to computer science course) so I figured I’d start there. The course comprises of 11 weeks/ lessons which I stopped after week 3. I found myself just copying code from YouTube videos that went over the course problems and felt it was too advanced for me. I wasn’t learning anything. It felt like a typical college course, two hours of fast paced lectures and little “doing”. Also, those course problems are fairly hard for first timers. There’s no way someone who has zero coding experience can get through that course in 11 weeks. It’ll take months. You should know some sh*t about coding before taking it and I can’t imagine anyone going to Harvard to study computer science and not already know how to code. Anyways, the class uses vscode and Github so that was my intro to Github.

The other day, I read another article about documenting your projects and coding by using repositories in Github so I then researched “whats the best way to set up the best Github?” You know, incase my interviewer wants to see a portfolio of some sort. Found an article that goes over how to set up an efficient Github (and there’s dozens of sites that go over this stuff so I just chose one (https://yourbrainoncomputers.com/getting-started-with-git-and-13-essential-things-to-know/)) and one of the first things this article said was to get familiar with Git so here I am!

So wtf is Git?

Git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency. Git thinks of its data more like a series of snapshots of a miniature filesystem. With Git, every time you commit, or save the state of your project, Git basically takes a picture of what all your files look like at that moment and stores a reference to that snapshot. To be efficient, if files have not changed, Git doesn’t store the file again, just a link to the previous identical file it has already stored. Git thinks about its data more like a stream of snapshots.

Can access project history changes locally as oppose to seeking it from a remote server.
Can work offline on an airplane or train and upload when you get network connection. Can’t do this with other other systems.
Git knows about all changes. Can’t change file or have file corruption w/out git knowing.
Stores everything using SHA-1 hash, hexadecmial values.
Recover lost data and undo things.

Ok, good enough for now.

--

--