SlideShare a Scribd company logo
1 of 17
GIT
&
SUBVERSION
Anonymous
WORKING ALONE
▪ Had code that worked, made a bunch of changes and saved it, which
broke the code, and now you just want the working version back…
▪ Accidentally deleted a critical file, hundreds of lines of code gone…
▪ Somehow messed up the structure/contents of your code base, and
want to just “undo” the crazy action you just did
▪ Hard drive crash!!!! Everything’s gone, the day before deadline.
WORKING IN TEAMS
▪ Whose computer stores the "official" copy of the project?
▪ Will we be able to read/write each other's changes?
▪ Do we have the right file permissions?
▪ Lets just email changed files back and forth.
▪ What happens if we both try to edit the same file?
▪ Kareem just overwrote a file I worked on for 6 hours!
▪ What happens if we make a mistake and corrupt an important file?
▪ Is there a way to keep backups of our project files?
▪ How do I know what code each teammate is working on?
SO WHAT CAN I DO?
VERSION CONTROL SYSTEM
▪ version control system (often called a source code control system)
does these things:
▪ tracks incremental versions (or revisions) of files and, in some cases,
directories over time.
▪ allows you to explore the changes which resulted in each of those versions
▪ Allows “check in” and “check out” of files so you know which files someone
else is working on
▪ Displays differences between versions
HOW IS IT WORK?
VCS USES A REPOSITORY
▪ check in: adding a new file to the repository
▪ check out: downloading a file from the repo to edit it
▪ you don't edit files directly in the repo; you edit a local working copy
▪ once finished, the user checks in a new version of the file
▪ commit: checking in a new version of a file(s) that were checked out
▪ revert: undoing any changes to a file(s) that were checked out
▪ update: downloading the latest versions of all files that have been recently
committed by other users
MERGING AND CONFLICTS
▪ Merge: Two sets of changes applied at same time to same files
▪ happens when two users check out same file(s), both change it, and:
▪ both commit, or
▪ one changes it and commits; the other changes it and does an update
▪ Conflict: when the system is unable to reconcile merged changes
▪ resolve: user intervention to repair a conflict. Possible ways:
▪ combining the changes manually in some way
▪ selecting one change in favor of the other
▪ reverting both changes (less likely)
SUBVERSION SVN
▪ Centralized version control systems.
▪ based on the idea that there is a single “central” copy of your project
somewhere (probably on a server).
▪ programmers will “commit” their changes to this central copy.
▪ automatically update the contents of any files that were changed.
▪ Programmers no longer have to keep many copies of files on their hard
drives manually.
DISADVANTAGES OF SVN
▪ The repository is centrally stored on a server.
▪ You need to be online to access.
▪ Performance is slow.
CENTRALIZED AND DISTRIBUTED VCS
VERSION CONTROL SYSTEM
Version Control System VCS
Centralized VCS
Subversion
Distributed VCS
Git
▪ Linus Torvalds, 2005
▪ Came out of Linux development community
▪ Initial goals:
 free and open .
 Speed
 Support for non-linear development (thousands of parallel branches)
 Fully distributed
 Able to handle large projects like Linux efficiently
ADVANTAGES OF GIT
▪ Performing actions other than pushing and pulling changesets is
extremely fast because the tool only needs to access the hard drive, not
a remote server.
▪ Committing new changesets can be done locally without anyone else
seeing them.
▪ Everything but pushing and pulling can be done without an internet
connection.
▪ Since each programmer has a full copy of the project repository, they
can share changes with one or two other people at a time if they want
to get some feedback before showing the changes to everyone.
DISADVANTAGES OF GIT
▪ There are only two major inherent disadvantages to using a distributed
system:
▪ If your project contains many large, binary files that cannot be easily
compressed, the space needed to store all versions of these files can
accumulate quickly.
▪ If your project has a very long history (50,000 changesets or more),
downloading the entire history can take an impractical amount of time
and disk space.
▪ The authors and contributors of modern distributed version control
systems are working on solving these problems, but at the moment, no
bundled, built-in features solve them.
WORKING WITH GIT
▪ Command line interface
▪ • Official Git Site —http://git-scm.com/
THANKS A LOT
Ahmed Shawky Ali El-faky

More Related Content

What's hot

SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best PracticesMaidul Islam
 
TERMINALFOUR t44u 2012 - Publish and transfer
TERMINALFOUR t44u 2012 - Publish and transferTERMINALFOUR t44u 2012 - Publish and transfer
TERMINALFOUR t44u 2012 - Publish and transferTerminalfour
 
BLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersBLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersMartin Jinoch
 
Version Control with SVN
Version Control with SVNVersion Control with SVN
Version Control with SVNPHPBelgium
 
Subversion Overview
Subversion OverviewSubversion Overview
Subversion Overviewpolarion
 
Introduction to Version Control and Configuration Management
Introduction to Version Control and Configuration ManagementIntroduction to Version Control and Configuration Management
Introduction to Version Control and Configuration ManagementPhilip Johnson
 
Subversion Best Practices
Subversion Best PracticesSubversion Best Practices
Subversion Best PracticesMatt Wood
 
SCM (Source Control Management) - Git Basic
SCM (Source Control Management) - Git Basic SCM (Source Control Management) - Git Basic
SCM (Source Control Management) - Git Basic Aman Patial
 
Version control and GIT Primer
Version control and GIT PrimerVersion control and GIT Primer
Version control and GIT Primersaadulde
 
Getting Started With Subversion
Getting Started With SubversionGetting Started With Subversion
Getting Started With SubversionJordan Hatch
 
Gitgithub101slideshare 150922131830-lva1-app6891
Gitgithub101slideshare 150922131830-lva1-app6891Gitgithub101slideshare 150922131830-lva1-app6891
Gitgithub101slideshare 150922131830-lva1-app6891Brian Okinyi
 
Visual Studio Release Management - New weltanschauung or natural evolution? @...
Visual Studio Release Management - New weltanschauung or natural evolution? @...Visual Studio Release Management - New weltanschauung or natural evolution? @...
Visual Studio Release Management - New weltanschauung or natural evolution? @...Giulio Vian
 
Nguyễn Vũ Hưng: Subversion best practices
Nguyễn Vũ Hưng: Subversion best practicesNguyễn Vũ Hưng: Subversion best practices
Nguyễn Vũ Hưng: Subversion best practicesVu Hung Nguyen
 
Introduction to Distributed Version Control System with Mercurial / TortoiseHg
Introduction to Distributed Version Control System with Mercurial / TortoiseHgIntroduction to Distributed Version Control System with Mercurial / TortoiseHg
Introduction to Distributed Version Control System with Mercurial / TortoiseHgEng Chin Gan
 
Git the fast version control system
Git the fast version control systemGit the fast version control system
Git the fast version control systemJeroen Rosenberg
 

What's hot (20)

SVN Tool Information : Best Practices
SVN Tool Information  : Best PracticesSVN Tool Information  : Best Practices
SVN Tool Information : Best Practices
 
TERMINALFOUR t44u 2012 - Publish and transfer
TERMINALFOUR t44u 2012 - Publish and transferTERMINALFOUR t44u 2012 - Publish and transfer
TERMINALFOUR t44u 2012 - Publish and transfer
 
BLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersBLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes Developers
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Version Control with SVN
Version Control with SVNVersion Control with SVN
Version Control with SVN
 
Subversion Overview
Subversion OverviewSubversion Overview
Subversion Overview
 
Introduction to Version Control and Configuration Management
Introduction to Version Control and Configuration ManagementIntroduction to Version Control and Configuration Management
Introduction to Version Control and Configuration Management
 
Subversion Best Practices
Subversion Best PracticesSubversion Best Practices
Subversion Best Practices
 
SCM (Source Control Management) - Git Basic
SCM (Source Control Management) - Git Basic SCM (Source Control Management) - Git Basic
SCM (Source Control Management) - Git Basic
 
Version control and GIT Primer
Version control and GIT PrimerVersion control and GIT Primer
Version control and GIT Primer
 
Getting Started With Subversion
Getting Started With SubversionGetting Started With Subversion
Getting Started With Subversion
 
Gitgithub101slideshare 150922131830-lva1-app6891
Gitgithub101slideshare 150922131830-lva1-app6891Gitgithub101slideshare 150922131830-lva1-app6891
Gitgithub101slideshare 150922131830-lva1-app6891
 
Mercurial presentation
Mercurial presentationMercurial presentation
Mercurial presentation
 
Visual Studio Release Management - New weltanschauung or natural evolution? @...
Visual Studio Release Management - New weltanschauung or natural evolution? @...Visual Studio Release Management - New weltanschauung or natural evolution? @...
Visual Studio Release Management - New weltanschauung or natural evolution? @...
 
Git hub_pptx
Git hub_pptxGit hub_pptx
Git hub_pptx
 
Nguyễn Vũ Hưng: Subversion best practices
Nguyễn Vũ Hưng: Subversion best practicesNguyễn Vũ Hưng: Subversion best practices
Nguyễn Vũ Hưng: Subversion best practices
 
Evolution ofversioncontrolinopensource
Evolution ofversioncontrolinopensourceEvolution ofversioncontrolinopensource
Evolution ofversioncontrolinopensource
 
Git an introductino
Git an introductinoGit an introductino
Git an introductino
 
Introduction to Distributed Version Control System with Mercurial / TortoiseHg
Introduction to Distributed Version Control System with Mercurial / TortoiseHgIntroduction to Distributed Version Control System with Mercurial / TortoiseHg
Introduction to Distributed Version Control System with Mercurial / TortoiseHg
 
Git the fast version control system
Git the fast version control systemGit the fast version control system
Git the fast version control system
 

Viewers also liked

My Play Activities as Child 1.4
My Play Activities as Child 1.4My Play Activities as Child 1.4
My Play Activities as Child 1.4Eli Mosa
 
HAFIZ ZAIN MUSTAFA
HAFIZ ZAIN MUSTAFAHAFIZ ZAIN MUSTAFA
HAFIZ ZAIN MUSTAFAZain Mustafa
 
Khalid Station (Logo Project)
Khalid Station (Logo Project)Khalid Station (Logo Project)
Khalid Station (Logo Project)Ahmed Mohaisen
 
Правила лепог изражавања на интернету
Правила лепог изражавања на интернетуПравила лепог изражавања на интернету
Правила лепог изражавања на интернетуNataša Majstrović
 
Critical thinking and puns
Critical thinking and punsCritical thinking and puns
Critical thinking and punsMonik Vinueza
 
E twinning ambassador webinar about Doodle by Nataša Majstrović
E twinning ambassador webinar about Doodle by  Nataša MajstrovićE twinning ambassador webinar about Doodle by  Nataša Majstrović
E twinning ambassador webinar about Doodle by Nataša MajstrovićNataša Majstrović
 
E twinning webinar - etwinning live Nataša Majstrović
E twinning webinar - etwinning live  Nataša MajstrovićE twinning webinar - etwinning live  Nataša Majstrović
E twinning webinar - etwinning live Nataša MajstrovićNataša Majstrović
 
E twinning webinar Voki Nataša Majstrović
E twinning webinar Voki   Nataša MajstrovićE twinning webinar Voki   Nataša Majstrović
E twinning webinar Voki Nataša MajstrovićNataša Majstrović
 
Водич за родитеље
Водич за родитеље   Водич за родитеље
Водич за родитеље Nataša Majstrović
 
E twinning ambassador webinar - Voki tool, Nataša Majstrović
E twinning ambassador webinar - Voki tool,  Nataša MajstrovićE twinning ambassador webinar - Voki tool,  Nataša Majstrović
E twinning ambassador webinar - Voki tool, Nataša MajstrovićNataša Majstrović
 
Cinco Coisas que Todo Cristão Precisa Para Crescer - R. C. Sproul
Cinco Coisas que Todo Cristão Precisa Para Crescer -  R. C. SproulCinco Coisas que Todo Cristão Precisa Para Crescer -  R. C. Sproul
Cinco Coisas que Todo Cristão Precisa Para Crescer - R. C. SproulEvandro Santos
 

Viewers also liked (14)

My Play Activities as Child 1.4
My Play Activities as Child 1.4My Play Activities as Child 1.4
My Play Activities as Child 1.4
 
HAFIZ ZAIN MUSTAFA
HAFIZ ZAIN MUSTAFAHAFIZ ZAIN MUSTAFA
HAFIZ ZAIN MUSTAFA
 
Khalid Station (Logo Project)
Khalid Station (Logo Project)Khalid Station (Logo Project)
Khalid Station (Logo Project)
 
Правила лепог изражавања на интернету
Правила лепог изражавања на интернетуПравила лепог изражавања на интернету
Правила лепог изражавања на интернету
 
Leadership review
Leadership review  Leadership review
Leadership review
 
Critical thinking and puns
Critical thinking and punsCritical thinking and puns
Critical thinking and puns
 
E twinning ambassador webinar about Doodle by Nataša Majstrović
E twinning ambassador webinar about Doodle by  Nataša MajstrovićE twinning ambassador webinar about Doodle by  Nataša Majstrović
E twinning ambassador webinar about Doodle by Nataša Majstrović
 
E twinning webinar - etwinning live Nataša Majstrović
E twinning webinar - etwinning live  Nataša MajstrovićE twinning webinar - etwinning live  Nataša Majstrović
E twinning webinar - etwinning live Nataša Majstrović
 
E twinning webinar Voki Nataša Majstrović
E twinning webinar Voki   Nataša MajstrovićE twinning webinar Voki   Nataša Majstrović
E twinning webinar Voki Nataša Majstrović
 
Водич за родитеље
Водич за родитеље   Водич за родитеље
Водич за родитеље
 
E twinning ambassador webinar - Voki tool, Nataša Majstrović
E twinning ambassador webinar - Voki tool,  Nataša MajstrovićE twinning ambassador webinar - Voki tool,  Nataša Majstrović
E twinning ambassador webinar - Voki tool, Nataša Majstrović
 
SCCM
SCCMSCCM
SCCM
 
Java static keyword
Java static keywordJava static keyword
Java static keyword
 
Cinco Coisas que Todo Cristão Precisa Para Crescer - R. C. Sproul
Cinco Coisas que Todo Cristão Precisa Para Crescer -  R. C. SproulCinco Coisas que Todo Cristão Precisa Para Crescer -  R. C. Sproul
Cinco Coisas que Todo Cristão Precisa Para Crescer - R. C. Sproul
 

Similar to Git&subversion

Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)Ahmed El-Arabawy
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps JumpstartOri Donner
 
CSE 390 Lecture 9 - Version Control with GIT
CSE 390 Lecture 9 - Version Control with GITCSE 390 Lecture 9 - Version Control with GIT
CSE 390 Lecture 9 - Version Control with GITPouriaQashqai1
 
Luis atencio on_git
Luis atencio on_gitLuis atencio on_git
Luis atencio on_gitLuis Atencio
 
Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHubVikram SV
 
Advantages and disadvantages of a monorepo
Advantages and disadvantages of a monorepoAdvantages and disadvantages of a monorepo
Advantages and disadvantages of a monorepoIanDavidson56
 
version control system (2).pptx
version control system (2).pptxversion control system (2).pptx
version control system (2).pptxDipanshuRaj19
 
02-version control(DevOps Series)
02-version control(DevOps Series)02-version control(DevOps Series)
02-version control(DevOps Series)Mohammed Shaban
 
Version Control with Git
Version Control with GitVersion Control with Git
Version Control with GitLuigi De Russis
 
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)Per Henrik Lausten
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners HubSpot
 
Version Control with Git
Version Control with GitVersion Control with Git
Version Control with GitSahil Agarwal
 
Programming Sessions KU Leuven - Session 01
Programming Sessions KU Leuven - Session 01Programming Sessions KU Leuven - Session 01
Programming Sessions KU Leuven - Session 01Rafael Camacho Dejay
 
Version control git day01
Version control   git day01Version control   git day01
Version control git day01Gourav Varma
 
Version control git day01
Version control   git day01Version control   git day01
Version control git day01Gourav Varma
 

Similar to Git&subversion (20)

GIT INTRODUCTION
GIT INTRODUCTIONGIT INTRODUCTION
GIT INTRODUCTION
 
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
 
GIT_Overview.
GIT_Overview.GIT_Overview.
GIT_Overview.
 
SQL Server DevOps Jumpstart
SQL Server DevOps JumpstartSQL Server DevOps Jumpstart
SQL Server DevOps Jumpstart
 
Git
GitGit
Git
 
CSE 390 Lecture 9 - Version Control with GIT
CSE 390 Lecture 9 - Version Control with GITCSE 390 Lecture 9 - Version Control with GIT
CSE 390 Lecture 9 - Version Control with GIT
 
Luis atencio on_git
Luis atencio on_gitLuis atencio on_git
Luis atencio on_git
 
Introduction to Git and GitHub
Introduction to Git and GitHubIntroduction to Git and GitHub
Introduction to Git and GitHub
 
Advantages and disadvantages of a monorepo
Advantages and disadvantages of a monorepoAdvantages and disadvantages of a monorepo
Advantages and disadvantages of a monorepo
 
version control system (2).pptx
version control system (2).pptxversion control system (2).pptx
version control system (2).pptx
 
02-version control(DevOps Series)
02-version control(DevOps Series)02-version control(DevOps Series)
02-version control(DevOps Series)
 
Version Control with Git
Version Control with GitVersion Control with Git
Version Control with Git
 
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
 
Source control
Source controlSource control
Source control
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners Git 101: Git and GitHub for Beginners
Git 101: Git and GitHub for Beginners
 
Version Control with Git
Version Control with GitVersion Control with Git
Version Control with Git
 
Programming Sessions KU Leuven - Session 01
Programming Sessions KU Leuven - Session 01Programming Sessions KU Leuven - Session 01
Programming Sessions KU Leuven - Session 01
 
Version control git day01
Version control   git day01Version control   git day01
Version control git day01
 
Version control git day01
Version control   git day01Version control   git day01
Version control git day01
 

Recently uploaded

CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceanilsa9823
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 

Recently uploaded (20)

CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female serviceCALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
CALL ON ➥8923113531 🔝Call Girls Badshah Nagar Lucknow best Female service
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 

Git&subversion

  • 2. WORKING ALONE ▪ Had code that worked, made a bunch of changes and saved it, which broke the code, and now you just want the working version back… ▪ Accidentally deleted a critical file, hundreds of lines of code gone… ▪ Somehow messed up the structure/contents of your code base, and want to just “undo” the crazy action you just did ▪ Hard drive crash!!!! Everything’s gone, the day before deadline.
  • 3. WORKING IN TEAMS ▪ Whose computer stores the "official" copy of the project? ▪ Will we be able to read/write each other's changes? ▪ Do we have the right file permissions? ▪ Lets just email changed files back and forth. ▪ What happens if we both try to edit the same file? ▪ Kareem just overwrote a file I worked on for 6 hours! ▪ What happens if we make a mistake and corrupt an important file? ▪ Is there a way to keep backups of our project files? ▪ How do I know what code each teammate is working on?
  • 4. SO WHAT CAN I DO?
  • 5. VERSION CONTROL SYSTEM ▪ version control system (often called a source code control system) does these things: ▪ tracks incremental versions (or revisions) of files and, in some cases, directories over time. ▪ allows you to explore the changes which resulted in each of those versions ▪ Allows “check in” and “check out” of files so you know which files someone else is working on ▪ Displays differences between versions
  • 6. HOW IS IT WORK?
  • 7. VCS USES A REPOSITORY ▪ check in: adding a new file to the repository ▪ check out: downloading a file from the repo to edit it ▪ you don't edit files directly in the repo; you edit a local working copy ▪ once finished, the user checks in a new version of the file ▪ commit: checking in a new version of a file(s) that were checked out ▪ revert: undoing any changes to a file(s) that were checked out ▪ update: downloading the latest versions of all files that have been recently committed by other users
  • 8. MERGING AND CONFLICTS ▪ Merge: Two sets of changes applied at same time to same files ▪ happens when two users check out same file(s), both change it, and: ▪ both commit, or ▪ one changes it and commits; the other changes it and does an update ▪ Conflict: when the system is unable to reconcile merged changes ▪ resolve: user intervention to repair a conflict. Possible ways: ▪ combining the changes manually in some way ▪ selecting one change in favor of the other ▪ reverting both changes (less likely)
  • 9. SUBVERSION SVN ▪ Centralized version control systems. ▪ based on the idea that there is a single “central” copy of your project somewhere (probably on a server). ▪ programmers will “commit” their changes to this central copy. ▪ automatically update the contents of any files that were changed. ▪ Programmers no longer have to keep many copies of files on their hard drives manually.
  • 10. DISADVANTAGES OF SVN ▪ The repository is centrally stored on a server. ▪ You need to be online to access. ▪ Performance is slow.
  • 12. VERSION CONTROL SYSTEM Version Control System VCS Centralized VCS Subversion Distributed VCS Git
  • 13. ▪ Linus Torvalds, 2005 ▪ Came out of Linux development community ▪ Initial goals:  free and open .  Speed  Support for non-linear development (thousands of parallel branches)  Fully distributed  Able to handle large projects like Linux efficiently
  • 14. ADVANTAGES OF GIT ▪ Performing actions other than pushing and pulling changesets is extremely fast because the tool only needs to access the hard drive, not a remote server. ▪ Committing new changesets can be done locally without anyone else seeing them. ▪ Everything but pushing and pulling can be done without an internet connection. ▪ Since each programmer has a full copy of the project repository, they can share changes with one or two other people at a time if they want to get some feedback before showing the changes to everyone.
  • 15. DISADVANTAGES OF GIT ▪ There are only two major inherent disadvantages to using a distributed system: ▪ If your project contains many large, binary files that cannot be easily compressed, the space needed to store all versions of these files can accumulate quickly. ▪ If your project has a very long history (50,000 changesets or more), downloading the entire history can take an impractical amount of time and disk space. ▪ The authors and contributors of modern distributed version control systems are working on solving these problems, but at the moment, no bundled, built-in features solve them.
  • 16. WORKING WITH GIT ▪ Command line interface ▪ • Official Git Site —http://git-scm.com/
  • 17. THANKS A LOT Ahmed Shawky Ali El-faky

Editor's Notes

  1. no programmer is perfect, and sometimes, we make mistakes. If you make a change to a file, save it, compile it, and find out that something went wrong, it’s often helpful to be able to go back to the old version or to get a report of what we actually changed, in order to focus on what we may have done wrong.
  2. The main difference between centralized and distributed version control is the number of repositories. In centralized version control, there is just one repository, and in distributed version control, there are multiple repositories. Here are pictures of the typical arrangements.
  3. The act of cloning an entire repository gives distributed version control tools several advantages over centralized systems: Performing actions other than pushing and pulling changesets is extremely fast because the tool only needs to access the hard drive, not a remote server. Committing new changesets can be done locally without anyone else seeing them. Once you have a group of changesets ready, you can push all of them at once. Everything but pushing and pulling can be done without an internet connection. So you can work on a plan, and you won’t be forced to commit sever Since each proal bugfixes as one big changeset. grammer has a full copy of the project repository, they can share changes with one or two other people at a time if they want to get some feedback before showing the changes to everyone.
  4. To be quite honest, there are almost no disadvantages to using a distributed version control system over a centralized one. Distributed systems do not prevent you from having a single “central” repository, they just provide more options on top of that. There are only two major inherent disadvantages to using a distributed system: If your project contains many large, binary files that cannot be easily compressed, the space needed to store all versions of these files can accumulate quickly. If your project has a very long history (50,000 changesets or more), downloading the entire history can take an impractical amount of time and disk space. The authors and contributors of modern distributed version control systems are working on solving these problems, but at the moment, no bundled, built-in features solve them.