Why We Use Git
We love using Git at Left + Right. Our developers use it everyday all day. It helps us coordinate development on projects while ensuring that we are not stepping on each others' toes. Below are a few more reasons we love it.
Distributed version control system
What this boils down to, is there is no single source of the code. It is replicated across many systems unlike version control systems like our good old friend SVN. We store our Git repositories on BitBucket, but that repository is also on every developer's computer that is working on the project. So, where Git is not meant to be a backup service it's distributed nature does make a good first line of defense against losing code.
Git is used by a lot of people. While we use Git in our day-to-day development, it is a technology like any other and there are edge cases and occasional issues. Having a large community of people to help troubleshoot those exceptional circumstances really helps to save time and improve developer efficiency. There are other distributed version control systems out there, but using the one with the largest adoption by developers also means we don't have to waste time training people how to use a technology before they can be productive on a project.
Deployments and Automation
FTP? What is FTP? Gone are the days of multiple developers working on a project and one developer overwriting changes that another developer had previously uploaded via FTP. We use a tool called DeployHQ that connects to Git repositories and deploys updates to the server when there is a code change. With Git's branches we can segment the changes to codebase and push changes in different branches to different places. One branch gets deployed to a staging environment and another branch gets deployed to production. With the deployment process we can also automate tasks like migrating changes to the database, processing images, compiling assets and much much more. It saves time because the deployment of code is a repeatable process that doesn't require people to remember what needs to be done each time. All this deployment and automation helps make us more efficient when working on web applications and websites.
It Makes Us Feel Cool
Simply put it makes us feel like badass command line ninjas that can conquer the world with a few keystrokes.
Tags:Git Deployment Community Automation Distributed Version Control Web Development