From the course: Designing and Implementing Source Control using GitHub and Azure DevOps
What is a source control management system?
From the course: Designing and Implementing Source Control using GitHub and Azure DevOps
What is a source control management system?
- [Narrator] A source control management system is an application or tool used for managing changes to the code. In a software project, it helps you to keep track of every change made to your code when it was made, by whom and why it was made. It's like a history book for your code. It tells you everything that has happened in your code base since the beginning. The system also enables developers to branch off from the main code base and make changes without affecting the rest of the team. When a branch is ready, the developer can merge it back into the main code base. Source control management systems also give us a central and standardized way of storing our code base. This is especially useful when developing as a team. Let me explain. Imagine developing an application alongside several other developers. Each person is making changes to different files on their individual computers. Your team will then have a challenge when you need to combine all these changes into a single code base. This can be very difficult, especially if the team is not in the same geographical location. The team will also need to use file sharing tools and risk clashing with or overriding each other's work. You will also find it difficult to attribute specific work to specific team members. A source control management system plays the role of a central system which will store the single code base and keep track of everybody's contribution to the code base over time. This also allows us to keep track of every version of the source code. With this in place, we can easily roll back to a previous version in case we have a less than desirable side effect from our changes. So source control management systems are a vital tool for software development teams. They help teams manage code bases collaborate on code, and keep a complete history of changes and managed releases. With a source control management system in place, software development teams can work more efficiently and deliver high quality code with greater confidence. Now let us explore some of the more common types of source control management systems.