Descubre por qué es tan útil e importante emplear un sistema de control de versiones para el posicionamiento web

A version control system is software that allows you to record the history of a project. What changes have been made and who made those changes.
It also enables various branches of a project, so that multiple simultaneous implementations can be worked on and only merged into the main project once they are completed.
Beyond textbook definitions, I'm going to take the literary liberty of making this article a bit more personal. I consider it important to raise awareness and advocate for the importance of any company that works on a website using this system for all types of implementations.
The reasons for working with a testing environment and a version control system:
One of the main motivations for creating this article is the insistence and bad practice of most Marketing agencies that work on websites and persist in making repairs and changes to a live site.

This type of practice is negligent, as due to lack of knowledge it poses an unnecessary risk both for the company doing the work and for the client.
It is difficult to audit your own errors and it can leave clients without possible services for long periods. Even more so if no backup of the project was made before making those changes.
The most appropriate approach is to clone the website locally and/or on a testing subdomain and make changes in that safe environment, so that once it is validated, it can be pushed to production (i.e., the website visible to clients).
If you want to adopt this professional methodology in your company, you can hire me and my team for an in-house training at your company on this type of practice.
Since any implementation carries a potential risk, it is always better to test it first with zero risk and then migrate it.
To have real control over changes on a website, you need to have a clear understanding of what a database is and what website code is and know where the changes are coming from. A topic I will delve into in another article.
As a quick tip, for those accustomed to WordPress, almost every change made from the BackOffice (when you log into wp-admin) is a database change.
GitHub is the most well-known Version Control system. It is software based on GIT technology, but not the only one — there are other equally valid options like GitLab or Bitbucket.
For any Git user who is not accustomed to a command line interface and who will be making simple implementations, I always recommend using a visual interface. In the case of GitHub, the best option is GitHub Desktop, and for any other, there is the open-source, cross-platform visual interface Source Tree, which has a less pleasant interface than GitHub Desktop but in some aspects, such as the SSH key generation feature, it is more complete.
To work with GitHub, we need to create an account on Github.com.
Once we create our account, we should know that it no longer has support in Spanish, and both GitHub and GitHub Desktop are used in English.
The main unit in GitHub is the repository. Repositories are basically any project for which you want to have your version control system. This can have different uses: to work on a website privately, for training, as a task management system for developers, or even for public repositories. In my case, I created a public repository for a talk about servers.
Once you create a repository on the GitHub website, if you are logged into GitHub Desktop you can clone the specified project.

Once you have it cloned, you can work on the project, even by setting up a local server and editing the code with any text or code editor (such as Visual Studio Code, for example).

Where you can see the changes made, what was deleted and what was added.
Once we have made all the changes we want, we perform the action of making a commit, which is like creating a block of that group of changes, which we must name in a way that truly reflects the changes made.
Once we Push, these changes will be in the GitHub cloud, so our project will be available at any time and on any computer, including on our server if we configure it.

We can also view the history, with the time of the changes, the changes made, and who made them.

Changes are automatically recorded simply by modifying the code. And different branches can be created, which would be different versions of the project that would converge when we perform a Merge.
It also allows us to undo any specific change and go back to a certain point, to check if indeed "this wasn't happening two days ago".
In any case, these would be the most basic aspects of GitHub that every company should know and master, in order to truly have absolute control and management over the tasks registered in any web project.
If you want your company to implement these practices, hire us!
I currently offer advanced SEO training in Spanish. Would you like me to create an English version? Let me know!
Tell me you're interested