Let’s say you’re looking to make some changes on your website. Typically, your developer would do the following:
- Log in via FTP
- Download the files required for the modification
- Perform the changes
- Reupload the modified files
There’s nothing inherently wrong with this workflow, but it has several limitations. For instance, what happens if you decide that you want back a feature of the site that you had the developer remove several months prior? If the developer didn’t keep a backup of the file from that exact date, they’d have to recreate the feature from scratch; this costs the developer precious time and empties your wallet. Utilizing a version control system (VCS) avoids this situation. With a VCS, the developer can look at the files in question at the particular date and pull the code. Doing this saves a lot of time in the process.
At Stellar Blue, we utilize Git to handle our version control needs. It allows all of our developers to have a defined base from where we pull our code and serves as a place where we can push our code changes.
A great feature of Git is the ability to create something called branches. Branches run parallel to the base project and allow you to develop features without actually changing any of the base files until you are ready. Once the features are complete, you can merge the branch into the base project. Any major addition to a live site is a good candidate for a branch.
Git allows us to better collaborate as a team and work on different parts of a project simultaneously without the fear of overwriting another’s work.