Have you ever worked in a group setting? Each person has their own list of responsibilities, deadlines, and goals, but everyone on the team is utilizing the same file base for storing updates to the project. Has this happened to you? If so, you’re probably very familiar with the complications that may result from everyone editing the same file, and nobody knowing who edited it last.
Web sites have a similar problem. You may be familiar with the process of updating a website. Maybe you need to connect with FTP/SFTP (File Transfer Protocol), to upload files that you have modified locally. Maybe you SCP via SSH, or RDC into the machine and do the edits there. Acronyms aside, you know that you need to take your edited file and somehow get it up on the server. However, what if you’re not the only one doing so?
Imagine you and someone else from your company, both working remotely, pull down a copy of the website from the server and modify the same file. Then, you try to upload it back to the server, only to realize that your changes never made it live. Instead, you see other changes you didn’t make. Next thing you know, everyone is caught up in a large, complex whodunit and the story is only getting more complicated by the minute. Say goodbye to your Monday afternoon.
What if there was a better way?
There is. In the enterprise-class development world, everybody knows that editing files directly via FTP/SFTP is a big no-no. That’s where version control comes into play. SVN, Git, pick your poison. Version control allows everyone on the project to not only have access to the codebase, but also be able to make edits and ensure that they don’t catastrophically get mixed up in other people’s updates.
At Curious Minds, we utilize version control anywhere we can. We’ll set up a repository for your custom application, your WordPress theme/child theme, and even custom (or customized) plugins. If possible, we’ll set it up so we can deploy straight to your server using Git Push. This allows us to push a branch on the repository, straight to your server. This way, nobody is in there modifying files via FTP/SFTP. Everything is tracked, and you can see when and by whom each file was edited.
How does this affect me? What is the business application?
Imagine a team of five developers building out a new functionality for your site in a week’s time, but wasting half of that week simply coordinating updates with one another so they didn’t destroy or break anything with file changing conflicts. If they had just used source control, they could have finished in 2-3 days.
Now, what about WordPress? This has a much greater effect in WordPress development, mainly because you are actually already working with potentially hundreds of other existing projects that typically use version control already. You’re using plugins, right? What about a third party theme? Each of these may have five or six, maybe even twenty, individual dependencies (other projects that they depend on), all of which may be included.
And, anytime you do custom work on the site, this custom work can also affect or be affected by these other projects. Typically, you need a WordPress developer to get in there and debug any conflicts that arise, and much of what they do has to do with investigating potential conflicts between all the different theme files and plugins that might be running on your site.
So much more can be done with greater efficiency, and much less risk for conflict. Version control is one of your biggest assets to reducing churn on any project when it comes to development. How can it not be beneficial for every organization to use, whether it is on a business application or not?
Curious Minds not only recommends, but uses version control to ensure your experience with us is as pain-free and efficient as possible. We bring many years of experience in enterprise-class development to our work with WordPress clients. It’s time to Level Up!