Please Use Version Control
Stack Overflow released their 2015 Developer Survey this week, and it has some interesting results. There are plenty of articles being written about their findings, so I’m only going to focus on one of them: version control.
9.3% of Respondents Don't Use Version Control
StackOverflow says that almost 10% of developers still aren’t using version control. This is terrible. If you happen to be one of the developers who hasn’t adopted version control yet, make it your next priority!
Version control, also known as source control or revision control, is vital to best programming practices. It provides an incremental backup along with comments and notes on changes that have been made. It provides a view of changes and all kinds of handy features, such as handling conflicts between changes, release tagging, code branches, and more. If you aren’t sure what version control is, check out Ilya Olevsky’s post, “Why Version Control is Critical to Your Success,” and then come back here.
Essential to Collaboration and Continuity
If you are looking to hire a freelance developer, make sure you hire one that uses version control. It is essential to maintaining a healthy history of code releases, project updates, and bug fixes. What if you only need to use your freelancer every once in a while? What if you decide to add more developers, or change developers all together? Without version control, this becomes a nightmare.
A client recently brought me a project that had been built by another developer a couple of years ago. They wanted to move their web application from one host to another. However, there was a lot that needed to be cleaned up before the move could happen, including some outdated PHP code and odd database settings. In the project’s main directory, there was a mess of old, unused source code files. Just the index.php
file had multiple versions:
- index2.php
- index3.php
- indexold.php
- index.php_old
- index.php_bak
In all, there were 598 unused files that were unnecessary backups of old, broken code. This type of mess is easily avoided with version control. Please stay sane, keep your customers happy, and your source code easy to navigate. Use version control.
Getting Started with Version Control
If you’ve decided to make the right move and start using version control, you will see that there are many to choose from. However, if you’re just going to learn one, you should start with Git. As you can see from the survey, it is the most widely used. The best place to start is probably in the free e-book offered by the Git development team. Click here to get started.
If You're Doing It, Thank You
The first time I encountered a team that wasn’t using version control, I was shocked. The second time, I sighed in exasperation. Now, I am thankful that over 90% of developers are using it, and I look forward to the day that every project I join comes with a git log
command. If you are using version control, I hope you spread the word and make sure that your fellow programmers are doing it, too. Save the rest of us some pain!
As a bonus, here’s my favorite git log
command. Add it to your aliases.
git log --oneline --graph --all --decorate
The featured image for this post is a pile of logs, to remind you that logs are important, and a vital part of version control.