Version Control Systems PDF
Document Details
Uploaded by Deleted User
Tags
Summary
This document provides an overview of version control systems. It discusses their importance in software development, highlighting the benefits of using them. It also categorizes and explains the different types of version control systems.
Full Transcript
CSPC 112 Software Engineering 2 Module 3. Unit 2 Version Control Systems What is Version Control Systems? Version Control Systems Version control systems are a category of software tools that helps in recording changes made to files by keeping a track of modifications done in the c...
CSPC 112 Software Engineering 2 Module 3. Unit 2 Version Control Systems What is Version Control Systems? Version Control Systems Version control systems are a category of software tools that helps in recording changes made to files by keeping a track of modifications done in the code. Version Control Systems Version control systems also known as source control, is the practice of tracking and managing changes to software code. Why Version Control system is important? Importance: ❑ A version control system is a kind of software that helps the developer team to efficiently communicate and manage(track) all the changes that have been made to the source code. Importance: ❑ It keeps source code organized. ❑ Improves productivity by making the development process smooth. Benefits of the version control system: ❑ Enhances the project development speed by providing efficient collaboration. ❑ Leverages the productivity, expedites product delivery, and skills of the employees through better communication and assistance. Benefits of the version control system: ❑ Reduce possibilities of errors and conflicts meanwhile project development through traceability to every small change. ❑ Employees or contributors of the project can contribute from anywhere irrespective of the different geographical locations through this VCS. Benefits of the version control system: ❑ For each different contributor to the project, a different working copy is maintained and not merged to the main file unless the working copy is validated. The most popular example is Git, Helix core, Microsoft TFS. Benefits of the version control system: ❑ Helps in recovery in case of any disaster or contingent situation. ❑ Informs us about Who, What, When, Why changes have been made. Use of Version Control System: ❑ A repository: It can be thought of as a database of changes. It contains all the edits and historical versions (snapshots) of the project. Use of Version Control System: ❑ Copy of Work (sometimes called as checkout): It is the personal copy of all the files in a project. You can edit to this copy, without affecting the work of others and you can finally commit your changes to a repository when you are done making your changes. Use of Version Control System: ❑ Working in a group: Version control helps you with the, merging different requests to main repository without making any undesirable changes. You may test the functionalities without putting it live and you don’t need to download and set up each time, just pull the changes and do the changes, test it and merge it back. Types of Version Control Systems: Local Version Control Systems Centralized Version Control Systems Distributed Version Control Systems Local Version Control Systems: ❑ It is one of the simplest forms and has a database that kept all the changes to files under revision control. Revision Control System(RCS) is one of the most common VCS tools. Centralized Version Control Systems: ❑ Centralized version control systems contain just one repository globally and every user need to commit for reflecting one’s changes in the repository. It is possible for others to see your changes by updating. Centralized Version Control Systems: ❑ Two things are required to make your changes visible to others which are: ▪ You commit ▪ They update Centralized Version Control Systems: Centralized Version Control Systems: ❑ The benefit of CVCS (Centralized Version Control Systems) makes collaboration amongst developers along with providing an insight to a certain extent on what everyone else is doing on the project. ❑ It allows administrators to fine-grained control over who can do what. Distributed Version Control Systems: ❑ Distributed version control systems contain multiple repositories. Each user has their own repository and working copy. Just committing your changes will not give others access to your changes. This is because commit will reflect those changes in your local repository and you need to push them in order to make them visible on the central repository. Distributed Version Control Systems: ❑ Similarly, when you update, you do not get others’ changes unless you have first pulled those changes into your repository. ❑ The most popular distributed version control systems are Git and Mercurial. Distributed Version Control Systems: ❑ To make your changes visible to others, 4 things are required: ▪ You commit ▪ You push ▪ They pull ▪ They update Distributed Version Control Systems: Thank You Do you have any question?