A new version of Git was released this week, bringing a number of improvements that will be a welcome sight to software developers. Alongside the normal bug fixes and general maintenance work, some interesting new experimental features have been added.

Git is an open-source version control system. If you have no experience in software development, you may be scratching your head right now. A version control system is best understood by comparing it to the undo option you find in most applications—except it's about a million times more useful and powerful.

Software projects are made up of many files—often hundreds or more. These files contain code and data. As the programmers build the software, they make changes and add new files. Often, there are several people working on the same files at the same time. Now, if you've ever had to use the undo option, you'll know easy it is to introduce a mistake into your work.

Text editors allow you to undo a mistake that you just made, but what if you don't spot the mistake until much later? What if you accidentally delete a paragraph of text, save the file and close the app? The undo feature can't help you anymore.

Git allows you to store every version of the files you are working on—that's why it's called a version control system! It can track every important change you make, including edits, adding new files and so on. And it makes it easy to merge the changes when several programmers work on the same file at the same time, which is extremely valuable in the world of software.

So, why should non-programmers care about this? Many important projects depend on Git, including Linux itself. In fact, Git was created by Linus Torvalds, Linux's creator. He found that the existing version control systems weren't up to scratch, so he made one of his own.

Version 2.9 brings several changes to Git. Several bugs have been fixed, and there have been some improvements "under the hood" to improve its performance. That's always good news, but it's hardly exciting.

But, this release does bring excitement, in the form of new features, including an experimental "multiple worktree" feature. This feature allows developers to check out branches, so other developers can't make destructive changes to the files they are working on.

It's a little bit of a departure from the normal way of dealing with things on Git. Normally, any member of the team can work on anything. If others get their changes into the remote repository before you do, then you have to merge your changes into the code manually, carefully checking your code to ensure it doesn't introduce errors. That can be frustrating, so this feature could help to reduce stress levels in busy code shops.

The source code for Git 2.9 is available now, and the binary version should make its way into the repositories soon.

Load Disqus comments