Ask a non-technical professional what the most challenging part of their job is and you’ll often hear, “Understanding what the heck our developers are talking about.” The “What the heck is . . .?” series explains common development terms in simple language. Today we’re letting you know what the heck your developers are talking about when they talk about “Git.”
When developers talk about Git, they’re talking about a version-control system for tracking changes in code during software development. The same way you would use the version-control features of an online word processor like Google Docs when collaborating with other writers on a document, developers use GIT to collaborate on creating code.
When you’re working with other writers on Google Docs, there’s always the danger that another writer might accidentally delete or alter something you’ve written. That’s why Google Docs keeps a tidy, chronological list of revisions to the document, as well as a button to revert to a previous version. But by reverting back to a previous version to rescue your contribution, you risk wiping out another writer’s contribution.
What you really need is a system that lets you separate out your changes from the changes that someone else makes. This is what Git provides to developers collaborating on code.
Along with its version control features, Git provides a killer feature called branching. A developer revising a block of code in a software program may be uncertain how those revisions might affect the changes being made by other developers working on the program. Git allows a developer to create an isolated copy of the software program so the developer can make changes to it without affecting the original copy or the work of the other developers.
These copies are known as “branches” of the main codebase. If a developer’s changes don’t work out, they can delete the branch and nobody will know any different. Once the developer finishes making changes to the code in the branch, Git will “merge” those changes into the original codebase. Git’s branching and merging functions allow multiple developers to work in parallel without affecting each other’s work.
The branching and merging features of Git provide important benefits:
Git makes it simpler to change your organization’s code. However, you still need to test those revisions and then deploy them to your customers. Platform.sh makes that process easy.
Platform.sh will automatically run a Git branch, just as if it were live on the web, so that your developers can test it out. If your developers don’t like how the new code performs, they can simply delete it and start again. If the revision works well, Platform.sh will automatically deploy it to your users.
By automating the tedious tasks of testing and deploying, Platform.sh gives your developers more time to do what they do best: create great code.