The essay “How To Make Sure You Don’t Lose Any Work” by David Walsh is a blog around the importance of backups and how version backup software.
The main argument of this essay is that you lose a lot of work if you don’t back up your files, especially if you are a web developer. In order to explain this, he gives an example: losing a few commits when others have already pulled your changes from Github. And he goes on to give another example: losing half of a post which you had been working on for days.
The author uses solid examples to support his argument and he uses some simple and clear explanations to help his readers understand the concept better. It seems like he is just writing a blog, not making an academic paper, so there are not so many specific details or statistics in it. The language used in the essay is quite simple, easy to read and understand.
This is a post about version control.
I’m going to tell you some very important things about how to make sure you don’t lose any work.
Why do I even need version control?
You need version control because computers are unreliable. Hard drives fail. Sometimes they just fail, and sometimes they fail after power spikes, or while your computer is updating its operating system, or while you’re in the middle of writing an important file.
If you are saving work on a regular basis (and you should be!) then there’s still a risk that you will have written something good, then have it disappear when the power goes out or the hard drive fails. It’s happened to me more times than I care to admit over the years.
Losing a version of a file is the most common form of data loss. There are many ways to lose a file, but there are two particular cases I want to focus on here:
1. You’ve been working on something, and you want to make sure you don’t lose any work.
2. You want to go back in time and find an old version of something.
What to do? Use version management software! It will help you with both of these cases. Most people use git, but there are other options, too: Mercurial, Bazaar, Subversion (SVN)… I’m not going to tell you which one to use because it doesn’t matter all that much. The important thing is that you use one of them.
Writing and editing is a risky endeavor. Even if you’re writing in a text editor, there’s always the risk that your computer will crash or be hacked or something else will happen and you’ll lose all your work.
Let’s take a look at some of the tools available to make sure that doesn’t happen.
Backups are one of the most important things in a developer’s workflow. Most people know that they should be backing up their work, but backup is one of those things that tends to get put off. It’s not until you lose a bunch of work that you realize how much time backups can save you.
If you’re not using any kind of version backup system for your code, then I highly encourage it. Even though personally I love using git, there are many other options out there as well. And if you have no idea what git is, don’t worry about it. In this article I’ll be going over all the basics so you can have confidence in managing your own source code control system. Let’s dive into it!
Many people using GitLab and GitHub use Git through the command line, but if you prefer to work in a more visual way, then you can use an extension for Visual Studio Code.
Not only does this help to make the commit process a little easier, but it also helps you see what’s already been committed, what’s staged, and what files are in your working directory.
Of course, if you do prefer to use the command line interface for Git, then you can also install that extension as well!
The thoughts that went into this post were triggered by a recent post on Hacker News entitled “How I lost $600k in Bitcoin”, which is a story of how one person lost all of his Bitcoin investments.
The key sentence in that article is the following:
If you were around then, you know what happened next. The price dropped to around $200 and kept going down for months.
It kept going down for months because I was terrified of losing more money. So I pulled $20k out of my bank account and sold it at $200 per coin. I had lost $180k in a single day and now I was convinced that Bitcoin was dead.
I panicked and sold everything at the bottom.
This story illustrates, from my perspective, two key points:
Losing money is painful, especially if it’s a lot of money. This can cause people to do irrational things like selling at the lowest point in the market just to stop the pain (and avoid losing even more money).
Backing up your data is important!