SlideShare a Scribd company logo
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

PDF
Version Control With Subversion
PPTX
PPTX
SVN Tutorial
PPTX
GIT In Detail
PDF
Introduction to Subversion
PDF
A brief introduction to version control systems
PPT
Part 4 - Managing your svn repository using jas forge
PPTX
Version control system
Version Control With Subversion
SVN Tutorial
GIT In Detail
Introduction to Subversion
A brief introduction to version control systems
Part 4 - Managing your svn repository using jas forge
Version control system

What's hot (20)

PPT
SVN Tool Information : Best Practices
PDF
TERMINALFOUR t44u 2012 - Publish and transfer
PDF
BLUG 2012 Version Control for Notes Developers
PPTX
Introduction to Git
PDF
Version Control with SVN
PPT
Subversion Overview
PPT
Introduction to Version Control and Configuration Management
PDF
Subversion Best Practices
PPTX
SCM (Source Control Management) - Git Basic
PDF
Version control and GIT Primer
PPTX
Getting Started With Subversion
PDF
Gitgithub101slideshare 150922131830-lva1-app6891
PPTX
Mercurial presentation
PPTX
Visual Studio Release Management - New weltanschauung or natural evolution? @...
PPTX
Git hub_pptx
ODP
Nguyễn Vũ Hưng: Subversion best practices
PDF
Evolution ofversioncontrolinopensource
ODP
Git an introductino
PPTX
Introduction to Distributed Version Control System with Mercurial / TortoiseHg
PPSX
Git the fast version control system
SVN Tool Information : Best Practices
TERMINALFOUR t44u 2012 - Publish and transfer
BLUG 2012 Version Control for Notes Developers
Introduction to Git
Version Control with SVN
Subversion Overview
Introduction to Version Control and Configuration Management
Subversion Best Practices
SCM (Source Control Management) - Git Basic
Version control and GIT Primer
Getting Started With Subversion
Gitgithub101slideshare 150922131830-lva1-app6891
Mercurial presentation
Visual Studio Release Management - New weltanschauung or natural evolution? @...
Git hub_pptx
Nguyễn Vũ Hưng: Subversion best practices
Evolution ofversioncontrolinopensource
Git an introductino
Introduction to Distributed Version Control System with Mercurial / TortoiseHg
Git the fast version control system
Ad

Viewers also liked (14)

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

Similar to Git&subversion (20)

PPTX
GIT INTRODUCTION
PDF
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
PDF
GIT_Overview.
PDF
SQL Server DevOps Jumpstart
PPTX
PPT
CSE 390 Lecture 9 - Version Control with GIT
PPTX
the Version Control systemlocalized.pptx
PPTX
Luis atencio on_git
PDF
Introduction to Git and GitHub
PPTX
Advantages and disadvantages of a monorepo
PPTX
version control system (2).pptx
PPTX
02-version control(DevOps Series)
PDF
Version Control with Git
ODP
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
PPT
Source control
PPTX
Mini-training: Let’s Git It!
PDF
Git 101: Git and GitHub for Beginners
PPT
391Lecture0909 Vision control of git.ppt
PPTX
Version Control with Git
PPTX
Git Basics for Software Version Management
GIT INTRODUCTION
Embedded Systems: Lecture 10: Introduction to Git & GitHub (Part 1)
GIT_Overview.
SQL Server DevOps Jumpstart
CSE 390 Lecture 9 - Version Control with GIT
the Version Control systemlocalized.pptx
Luis atencio on_git
Introduction to Git and GitHub
Advantages and disadvantages of a monorepo
version control system (2).pptx
02-version control(DevOps Series)
Version Control with Git
Source Control with Domino Designer 8.5.3 and Git (DanNotes, November 28, 2012)
Source control
Mini-training: Let’s Git It!
Git 101: Git and GitHub for Beginners
391Lecture0909 Vision control of git.ppt
Version Control with Git
Git Basics for Software Version Management

Recently uploaded (20)

PPTX
Why Generative AI is the Future of Content, Code & Creativity?
PPTX
Computer Software and OS of computer science of grade 11.pptx
PPTX
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
PDF
Cost to Outsource Software Development in 2025
PDF
Website Design Services for Small Businesses.pdf
PDF
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
PPTX
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
PDF
Download FL Studio Crack Latest version 2025 ?
PDF
Autodesk AutoCAD Crack Free Download 2025
PDF
Adobe Illustrator 28.6 Crack My Vision of Vector Design
PDF
iTop VPN Crack Latest Version Full Key 2025
DOCX
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
AutoCAD Professional Crack 2025 With License Key
PPTX
assetexplorer- product-overview - presentation
PDF
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
PPTX
Oracle Fusion HCM Cloud Demo for Beginners
PPTX
Reimagine Home Health with the Power of Agentic AI​
PPTX
Weekly report ppt - harsh dattuprasad patel.pptx
PPTX
Patient Appointment Booking in Odoo with online payment
Why Generative AI is the Future of Content, Code & Creativity?
Computer Software and OS of computer science of grade 11.pptx
AMADEUS TRAVEL AGENT SOFTWARE | AMADEUS TICKETING SYSTEM
Cost to Outsource Software Development in 2025
Website Design Services for Small Businesses.pdf
CCleaner Pro 6.38.11537 Crack Final Latest Version 2025
Embracing Complexity in Serverless! GOTO Serverless Bengaluru
Download FL Studio Crack Latest version 2025 ?
Autodesk AutoCAD Crack Free Download 2025
Adobe Illustrator 28.6 Crack My Vision of Vector Design
iTop VPN Crack Latest Version Full Key 2025
Greta — No-Code AI for Building Full-Stack Web & Mobile Apps
Navsoft: AI-Powered Business Solutions & Custom Software Development
AutoCAD Professional Crack 2025 With License Key
assetexplorer- product-overview - presentation
How to Make Money in the Metaverse_ Top Strategies for Beginners.pdf
Oracle Fusion HCM Cloud Demo for Beginners
Reimagine Home Health with the Power of Agentic AI​
Weekly report ppt - harsh dattuprasad patel.pptx
Patient Appointment Booking in Odoo with online payment

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

  • #3: 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.
  • #12: 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.
  • #15: 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.
  • #16: 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.