0% found this document useful (0 votes)
10 views23 pages

Vesion Control

The document provides an overview of version control, its benefits, and various types of version control systems (VCS) such as local, distributed, and centralized systems. It highlights the importance of version control in software development for tracking changes, collaboration, and maintaining code quality. Additionally, it discusses popular version control systems like Git, Subversion (SVN), and Mercurial, emphasizing Git's widespread use among developers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views23 pages

Vesion Control

The document provides an overview of version control, its benefits, and various types of version control systems (VCS) such as local, distributed, and centralized systems. It highlights the importance of version control in software development for tracking changes, collaboration, and maintaining code quality. Additionally, it discusses popular version control systems like Git, Subversion (SVN), and Mercurial, emphasizing Git's widespread use among developers.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

Application

Development and
Emerging
Technologies
CCIT 106

Mr. Richard F. Nonato


Camarines Sur Polytechnic Colleges
Instructor
College of Computer Studies
VERSION CONTROL
Topic Outline:
• Overview of Version Control
• Benefits of version control
• The version Control System (VCL)
• Types of version control system
• Main version control system
• Demonstration on how to use version
control system in application development
VERSION CONTROL

Also known as source control or revision control


- is an important software development practice
for tracking and managing changes made to code
and other files. It is closely related to source code
management.
BASICS VERSION CONTROL

• Version control (or source control or revision control)


serves as a safety net to protect the source code from
irreparable harm, giving the development team the
freedom to experiment without fear of causing
damage or creating code conflicts.
• Version control protects files from catastrophe and
the casual degradation of human error and
unintended consequences.
BASICS VERSION CONTROL

• With version control, every change made to the code


base is tracked. This allows software developers to
see the entire history of who changed what at any
given time — and roll back from the current version
to an earlier version if they need to. It also creates a
single source of truth.
BASICS VERSION CONTROL

• If developers code concurrently and create


incompatible changes, version control identifies the
problem areas so that team members can quickly
revert changes to a previous version, compare
changes, or identify who committed the problem
code through the revision history.
VERSION CONTROL SYSTEM(VCS)

• Version control systems are software tools that help


software teams manage changes to source code over
time.
• Version control software keeps track of every
modification to the code in a special kind of database.
Developers can revert to earlier code versions to fix
errors with minimal team disruption.
VERSION CONTROL SYSTEM(VCS)

Benefits of version control


• History Tracking
It allows you to track every change made in your project, including: who made
the change and when it was made.
• Quality
Teams can review, comment, and improve each other's code and assets.
• Collaboration
Multiple developers can be able work on the same project at the same time,
and Git efficiently manages the merging of changes in code.
VERSION CONTROL SYSTEM(VCS)
Benefits of version control
• Visibility
Understand and spark team collaboration to foster more excellent release build and
release patterns. Better visibility improves everything from project management to code
quality.
• Branching and Merging
developers to create branches to work on new features or bug fixes and later merge
them back into the main codebase.
• Traceability
Being able to trace each change made to the software and connect it to project
management and bug tracking software, and annotate each change with a message
describing the purpose and intent of the change can help not only with root cause
analysis.
TYPES OF VERSION CONTROL SYSTEM

• Local VCS
A local version control system (e.g. the old RCS)
keeps all versions on a single computer. It typically
stores changes in a local database on your machine.
While simple for one-person projects, it offers no
collaboration. Only the local user has the history and
there is no built-in mechanism to share changes.
TYPES OF VERSION CONTROL SYSTEM

• Distributed
A distributed version control system (DVCS) allows
users to access a repository from multiple locations.
DVCSs are often used by developers who need to work
on projects from multiple computers or who need to
collaborate with other developers remotely.
TYPES OF VERSION CONTROL SYSTEM
TYPES OF VERSION CONTROL SYSTEM

• Centralized
A centralized version control system (CVCS) is a
type of VCS where all users are working with the same
central repository. This central repository can be
located on a server or on a developer's local machine.
Centralized version control systems are typically used in
software development projects where a team of
developers needs to share code and track changes.
TYPES OF VERSION CONTROL SYSTEM
TYPES OF VERSION CONTROL SYSTEM

• Lock-based
A lock-based version control system uses file
locking to manage concurrent access to files and
resources. File locking prevents two or more users from
making conflicting changes to the same file or resource.
TYPES OF VERSION CONTROL SYSTEM

• Optimistic
In an optimistic version control system, every user
has their own private workspace. When they want to
share their changes with the rest of the team, they
submit a request to the server. The server then looks at
all the changes and determines which ones can be
safely merged together.
3 MAIN VERSION OF CONTROL
SYSTEM
• Git
Git is the most popular option and has become
synonymous with "source code management." Git is an
open-source distributed system that is used for software
projects of any size, making it a popular option for
startups, enterprises, and everything in between.
3 MAIN VERSION OF CONTROL
SYSTEM
• Subversion (SVN)
SVN is a widely adopted centralized VCS. This
system keeps all of a project's files on a single codeline
making it impossible to branch, so it's easy to scale for
large projects. It's simple to learn and features folder
security measures, so access to subfolders can be
restricted.
3 MAIN VERSION OF CONTROL
SYSTEM
• Mercurial
Mercurial is a distributed VCS that offers simple
branching and merging capabilities. The system enables
rapid scaling and collaborative development, with an
intuitive interface. The flexible command line interface
enables users to begin using the system immediately.
GIT

Git is a popular version control system. It was created by


Linus Torvalds in 2005, and has been maintained by
Junio Hamano since then. Over 70% of developers use
Git!
It is used for:
– Tracking code changes
– Tracking who made changes
– Coding collaboration
GIT

What does Git do?


• Manage projects with Repositories
• Clone a project to work on a local copy
• Control and track changes with Staging and Committing
• Branch and Merge to allow for work on different parts and
versions of a project
• Pull the latest version of the project to a local copy
• Push local updates to the main project
GIT

Git is a version control system that


allows developers to track changes in
their code. GitHub is a web-based
hosting
service for git repositories. In simple
terms, you can use git without Github, but
you cannot use GitHub without Git.

You might also like