Git it up

Intro

I assume you know what Git is. If you don’t, you can find tons of info with a simple search. I also assume you know what “version control” means, and even that you are familiar with Git basics. If you are not, some things here may sound strange to you, but (almost) everything has a solution.

You probably have used Git when publishing something on GitHub, maybe even to keep a big project organized. That is fine. But it could be better.

Here’s the deal. I want to convince you to use Git for everything. Not only for your work, but for everything. Everything. So, I will discuss why you should use it for all your stuff, and some suggestions to do it. Why would you want to do such a thing? Keep reading.

Why use Git on “everything”?

We trust our computers. We trust our hard disks, all of our hardware. We trust our operating systems, the software we run. Sometimes, we even trust The Cloud. We have extremely valuable data, and we think we have the ultimate word over what is happening to that data, because we think we have total control over some things we trust.

The truth is that hardware breaks, software fails, The Cloud is not as safe and private as we like to think, and what we do is not guaranteed to be not-stupid. Our data is not safe. And, if it is valuable enough, we want to protect it, even from ourselves.

What data?

Some of the most valuable data we have are the things we do. Not only being in the form of hard work and source code, but also as written articles, a compilation of notes, a CV. Not only that, but also your ToDo list, a list of the favourites app you have in your phone just in case it breaks, your preferred configurations for the software you use. Usually, not very big stuff, but extremely important anyway. After all, there’s a tiny bit of the author in every text file.

Protect from what?

The hard disk may fail, the USB drive may be lost, and, of course, you can mess with your own data; by making undesired changes or even deleting it. Or am I the only one who “rm -rf” too much?

And will Git protect my stuff?

Yes. Git is an extremely flexible and powerful tool, it has several features that can guarantee the integrity of your data; and if you use it correctly, it will protect your important stuff. Let me explain myself.

How can Git help me with that?

Excellent question, dear me. As said, Git has several security features, allowing you to effectively armor your beloved files. For example:

These are some of the features that make Git awesome, and the most important ones that make Git awesomely good to trust it your work.

Nice. So what?

So, you should Git everything up.

A while ago, I used Git as a tool to share some code with some people in some project, and nothing else. After some talking with a friend about how he used (and still uses) Git, I decided to give it a try.

The first thing I did was to organize my dotfiles in a folder, and start to version-control that folder. I became more organized, I could move my configuration to other computers without effort, everything was stored in remote branches, and I could see every change done in the configuration. And it was awesome.

Since that day, for every programming project I start, the very first thing I do is a git init. Even the smallest one, even just a silly experiment. I always git it up.

But that’s not all. After I started using Git for every programming project, and after it saved my stuff several times (mainly from myself), I decided to give the next step. I started to git everything up. My CV, written in LaTeX, is under Git control; different changes are in branches. My ToDo list is versioned, and synchronized. My website is gitted up, and new articles and pages are in different branches.

Convinced. What should I git up?

Just use your imagination. Protect your stuff, even your less important stuff. You need some ideas? Here are some things that I do, that someone I know does, or that I think it would be a good idea if applied:

The sky is the limit. Git it up!