A surprising amount of people in our profession are not familiar with revision control software.
In the world of computer software engineering, revision control is any kind of practice that tracks and provides control over changes to source code. Software developers sometimes use revision control software to maintain documentation and configuration files as well as source code. — Wikipedia
Over the past ten years, the growing prominence of open source software has helped to make several best practices far more established, but it’s still all too common to encounter developers who are not familiar with revision/version control software such as Git, Mercurial, or Apache Subversion (SVN).
Understandably, this lack of knowledge is much more noticeable among young developers and students.
Let me be absolutely clear about this: there is no software development today without revision control. Anything non-trivial will require that you use revision control, whether developing in a large team, a startup, or even on your own.
If you’re an aspiring developer, your career in our field will be enhanced by studying Git. Why Git specifically? It provides several advantages over SVN (mostly due to its distributed nature), and it’s more popular than the also excellent Mercurial.
It’s worth noting that twelve years ago I would have recommended that you learn SVN. Things change, and it’s possible that in another ten or fifteen years, Git will no longer be the reigning king in this arena.
I’m operating, however, under the fair assumption that you want to work today or in the near future. If so, learn Git.
Bear in mind that you don’t need to become an expert in what is a fairly complex system. Just master the basics, so that you’re competent enough to resolve most common situations and collaborate with fellow developers in your team.
Learn how to create a repository, clone it, pull, add, delete, commit, push, create and merge branches, diff files, revert changes, and so on. Basic stuff you’ll do day in and day out when changing code.
It won’t take you more than a couple of weeks of practice to really nail the fundamentals.
Another couple of related suggestions:
- Add Git to your resume.
- You’ll need a place to host your Git repositories. Sign up with Github (and if you want a private repository for free,BitBucket). Even if you’re not at a point where you can commit code to your repository, you can still practice Git by changing and pushing text files to it.
To learn the basics of Git I recommend that you use these two resources:
- Try Git.
- https://www.learnenough.com/git-tutorial by Michael Hartl
They should get you well on your way to Git productivity.