We have recently implemented a new system called “Git” into our development lifecycle. Git is a version control software application created by Linus Torvalds (creator of the Linux operating system). The idea of version control, is to keep track of all changes made to files in a particular project. It works by developers making changes locally, then performing a ‘push’ to a remote repository. Other developers can then ‘pull’ those changes and continue working on their own changes. This ensures that all developers are working on the same codebase. For Optix, it is used to manage the development and changes to all of our websites. It also allows many other features to enable developers to keep track of changes to our sites.
Git is slowly becoming an industry standard in web development, but why the big fuss?
- Collaborative Development – When multiple developers are working on a project (which can happen fairly often), sharing the same code can become unproductive, particularly if one developer is making site-breaking changes. Git allows developers to work independently of each other without affecting each other’s code. On the other hand, because each commit (a bunch of changes to a site) has to be documented by the developer, it also makes code reviews and project management much easier, as each developer has visibility on all code created.
- Responsibility – Once a developer has ‘committed’ their changes, they are then responsible for that code. This means that if there is a later issue with the website related to some previous changes, a developer can see who committed the last changes, and what they changed. This aides in fixing issues more efficiently for our clients and ensuring that once the fix is in place, it can be documented and referred back to later.
- Restoration – Every so often, things go wrong. When they do, developers should have a way of reverting code back to its previous state. Trawling through our regular backups can take time, but Git allows us to do this seamlessly with the click of a few buttons. This leads to less downtime for our client’s sites.
- Codebase Lifetime – Any developer will tell you how difficult picking up old, undocumented code is. With Git, you have the entire history of the codebase for a project; every feature, change and tweak is documented and explained. For our web application development projects, this is crucial, and allows our developers to maintain sites over a longer period.
- Deployment and Testing – Most developers, for better or worse, are still using technologies that have been around for longer than most web development companies (FTP being the most common, which was created in the 80’s) to deploy their websites to a server. These technologies are good, but they introduce human-error, they have encoding issues and they are pretty slow. Git allows us to use modern Continuous Integration tools (to automate testing and building our code) and deployment tools (to automate all of our deployment and rollbacks). This means changes can be rolled out to our customers smoothly and with little downtime.
We realise this isn’t thrilling content for everyone, but keeping our tools and technology up to date is very important to us. Our web development team is always testing and reviewing tools like Git, to enable us to delight our clients with faster deployments and ultimately leading to more successful and engaging products.
If you would like to hear more about development or have a project in mind, call us now on 01392 667766