0% found this document useful (0 votes)
6 views8 pages

Version Control Systems

Version control systems (VCS) are software tools that track changes made to files, facilitating collaboration among developers by managing modifications to source code. They enhance productivity, reduce errors, and allow contributors to work from different locations while maintaining organized project development. There are three main types of VCS: Local, Centralized, and Distributed, each with distinct methods for managing and sharing changes among team members.

Uploaded by

yadvkapil6
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views8 pages

Version Control Systems

Version control systems (VCS) are software tools that track changes made to files, facilitating collaboration among developers by managing modifications to source code. They enhance productivity, reduce errors, and allow contributors to work from different locations while maintaining organized project development. There are three main types of VCS: Local, Centralized, and Distributed, each with distinct methods for managing and sharing changes among team members.

Uploaded by

yadvkapil6
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 8

Version Control

Systems
Presented by: Ankita Sharma
What is a “version control system”?

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.
Why Version Control system is so
Important?
• Software product is developed in collaboration by a group of
developers they might be located at different locations and
each one of them contributes to some specific kind of
functionality/features.
• So in order to contribute to the product, they made
modifications to the source code(either by adding or
removing).
• 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 along
with the information like who made and what changes have
been made.
• It not only keeps source code organized but also 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,
• 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,
• 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,
• 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.
• 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.
• Working in a group: Consider yourself working in a company where you
are asked to work on some live project. You can’t change the main code
as it is in production, and any change may cause inconvenience to the
user, also you are working in a team so you need to collaborate with
your team to and adapt their changes. 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. It may be
visualized as.
Types of Version Control Systems:
Types are:
• 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. RCS is one of
the most common VCS tools. It keeps patch sets (differences between files) in a
special format on disk. By adding up all the patches it can then re-create what
any file looked like at any point in time.
• 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.
• Two things are required to make your changes visible to others which are:
• You commit
• They update
Continue…
• 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.
Similarly, When you update, you do not get others’ changes unless
you have first pulled those changes into your repository.
• To make your changes visible to others, 4 things are required:
• You commit
• You push
• They pull
• They update
Purpose of Version Control:
• Multiple people can work simultaneously on a single project. Everyone
works on and edits their own copy of the files and it is up to them when
they wish to share the changes made by them with the rest of the
team.
• It also enables one person to use multiple computers to work on a
project, so it is valuable even if you are working by yourself.
• It integrates the work that is done simultaneously by different members
of the team. In some rare cases, when conflicting edits are made by two
people to the same line of a file, then human assistance is requested by
the version control system in deciding what should be done.
• Version control provides access to the historical versions of a project.
This is insurance against computer crashes or data loss. If any mistake is
made, you can easily roll back to a previous version. It is also possible to
undo specific edits that too without losing the work done in the
meanwhile. It can be easily known when, why, and by whom any part of
a file was edited.

You might also like