A few years ago, when we were developers and writing code as part of a team, we encountered recurring problems that were for the most part as follows:
- How to share my code with my team members
- How to version the update of my code
- How to track changes to my code
- How to retrieve an old state of my code or part of it
Over time, these issues have been solved with the emergence of source code managers, also called a Version Control System (VCS) or noted more commonly as a Version Control Manager (VCM).
The goals of these VCSes are mainly to do the following:
- Allow collaboration of developers' code.
- Retrieve the code.
- Version the code.
- Track code changes.
With the advent of agile methods and DevOps culture, the use of a VCS in processes has become mandatory. Indeed, as mentioned in Chapter 1, DevOps Culture and Practices, the implementation...