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
Microsoft Build – Online Session
21 - 23 May 2024
We’re excited to be a part of this year’s event with an online Partner Showcase. Visit our page and explore our favourite free resources
Surveil dashboard updates – April 2024
There have been several changes to the Surveil platform over the last three weeks that we are excited to share with you. These changes have been designed to improve your overall experience with the platform, as well as add improved...
Grey Matter now a SolarWinds Advanced Partner
We are thrilled to announce that Grey Matter is now a SolarWinds Advanced Partner. SolarWinds is a global leader in powerful and affordable IT management software. This partnership marks our commitment to providing our clients with cutting-edge solutions and comprehensive...
Grey Matter attends JetBrains Partner Conference
Grey Matter is a JetBrains Premium Partner. Every year we attend the annual JetBrains Partner Conference. Read the 2024 event highlights.