0% found this document useful (0 votes)
33 views

DevOps Week3 Version Control With Git

Uploaded by

salma ben hssin
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
33 views

DevOps Week3 Version Control With Git

Uploaded by

salma ben hssin
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 12

Version Control with Git (Part 1)

Week 3: Introduction to Git and


Version Control
Session Objectives
• By the end of this session, students will:
– Understand the basics of Git and its importance in
DevOps.
– Comprehend the need for version control in
software development.
– Compare centralized and distributed version
control systems.
Introduction to Git

– Git is a distributed version control system.


– Tracks changes in source code during software
development.
– Facilitates collaboration among multiple
developers.
Importance of Git in DevOps

– Collaboration: Enables multiple developers to


work together efficiently.
– Continuous Integration: Integrates seamlessly with
CI/CD tools.
– Track History: Maintains a detailed history of
changes.
– Branching and Merging: Supports parallel
development workflows.
Git Basic Features

– Snapshots: Git stores snapshots of the file system.


– Branching: Allows work on different features
simultaneously.
– Distributed Nature: Every developer has a full copy
of the repository.
– Offline Work: Enables development without a
network connection.
Basic Git Commands

– git init: Initialize a new Git repository.


– git clone: Clone an existing repository.
– git add: Add files to the staging area.
– git commit: Commit changes to the local
repository.
– git push: Push commits to a remote repository.
– git pull: Fetch and merge changes from a remote
repository.
The Need for Version Control

– Preventing Overwrites: Avoids conflicts when


multiple developers edit the same file.
– Collaboration: Facilitates teamwork and parallel
development.
– Backup and Recovery: Ability to revert to previous
versions if needed.
– Traceability: Tracks who made changes and when.
Centralized Version Control
Systems (CVCS)

– Definition: Single central repository that all


developers synchronize with.
– Examples: Subversion (SVN), Perforce.
– Pros: Simple setup and administration, centralized
control and security.
– Cons: Single point of failure, limited offline
capabilities.
Distributed Version Control
Systems (DVCS)

– Definition: Each developer has a complete copy of


the repository.
– Examples: Git, Mercurial.
– Pros: Full history available offline, no single point
of failure, efficient branching and merging.
– Cons: Steeper learning curve, potentially larger
local storage requirements.
Comparison: CVCS vs. DVCS

– Server Dependency: CVCS - Dependent on central


server; DVCS - No central server required for most
operations.
– Offline Work: CVCS - Limited functionality offline;
DVCS - Full functionality offline.
– Performance: CVCS - Slower with large teams;
DVCS - Scales well with team size.
– Branching/Merging: CVCS - Can be complex and
error-prone; DVCS - Seamless and efficient.
Homework Assignment

– Research and compare different version control


systems (e.g., SVN, Git, Mercurial, Perforce).
– Focus on pros, cons, and use cases of each system.
– Prepare a short report (1-2 pages) summarizing
your findings.
Q&A

– Questions and Discussion: Encourage students to


ask questions about Git and version control
systems.
– Open floor for discussions and clarifications.

You might also like