Git – keeping track of things
Blog|by James Roberts|17 September 2019

Version Control
Keeping track of code changes – what has changed, by whom and when – is absolutely necessary for quality assurance and to ensure the software behaves as expected and delivers the correct results. Tools to assist developers in this task have been around for a very long time, for instance Microsoft Visual SourceSafe which is now discontinued although still being maintained. Other examples include the free Apache Subversion and Mercurial tools.
Modern version control systems make use of a repository to hold the source code and its variants. In it’s most basic form this could be a shared folder although a client server or distributed model is more usual.
Git
Git is one of the most widely adopted solutions that uses repos. It was developed by Linus Torvolds in 2005 for the development of the Linux kernel.
Unlike the client server model, Git adopts a distributed approach which enables each Git directory on every computer to be a full-fledged repository with complete history and full version tracking capabilities, independent of network access or central server. You can clone the entire repository without having to checkout of the current source code tip. Unless there is only a single copy of the repository, Git doesn’t have a single point of failure. Even with a centralised workflow, every user essentially has a full backup of the main server and any of these can be pushed up to replace the main server in the event of a crash or corruption. An almost endless number of workflows can be implemented on account of Git’s distributed nature and branching system.
For more information, see the Git website.
When version control isn’t enough
Tracking changes to the code is only part of the story however. The need to manage development teams and allow them to collaborate on projects has been a driving force behind a breed of dev solutions such as Microsoft Visual Studio Team Systems, MicroFocus StarTeam and the various components that are part of IBM’s Rational product set.
The increased velocity of Agile and CI/CD projects together with the greater number of remote participants has raised the need for comprehensive Software Configuration Management (SCM) products and services.
The challenges these seek to address extend beyond version control to include a broader spectrum of things that concern development projects such as task assignment, scheduling, what if scenarios etc. A major consumer for this is the open source community and it isn’t surprising that open source has played a significant role in developing the tools needed for the job such as GitHub.
GitHub
Owned by Microsoft since 2018, GitHub is an hosted environment for version control and source code management using Git. It also provides access control and collaboration features such as bug tracking, feature requests, task management and wikis for every project.
GitHub is a key part of Microsoft’s open source story and I will be writing a follow-up blog to delve deeper into this next time.
Contact Grey Matter
If you have any questions or want some extra information, complete the form below and one of the team will be in touch ASAP. If you have a specific use case, please let us know and we'll help you find the right solution faster.
By submitting this form you are agreeing to our Privacy Policy and Website Terms of Use.
James Roberts
Related News
The Last Mile challenge: What’s really at stake?
Unveiling the last mile delivery: Insights from industry experts It’s the final leg of your journey, but often the hardest to get right. From traffic congestion to customer expectations, the last mile delivery is where precision meets pressure – and...
Optimise route planning & navigate migration with OnTerra
We've partnered with OnTerra Systems to deliver agile, cost-effective Bing Maps migration services and expert support for businesses transitioning to Azure Maps.
Price increases for JetBrains tools
Lock in your current pricing for up to three years After maintaining their current pricing model for the past three years, JetBrains has announced upcoming subscription price increases for several of its tools. The tools to receive a subscription increase...
How to set up HERE Platform usage alerts
Step-by-step: setting up HERE usage alerts A new feature has landed in your HERE Platform realm, usage alerts. It’s designed to help you track service consumption, avoid unexpected costs, and make smarter decisions. When you now log in, you’ll see...