SlideShare ist ein Scribd-Unternehmen logo
1 von 20
Git - Fast Version Control System




       Presentation By: Aseem Jain
Agenda (apart from fun)
•   Visualize “GIT Vs SVN”
•   What is Delta Storage ?
•   GIT Work Flow
•   GIT Architecture
•   Branching
•   Merge and Rebase
•   Dictator Model
•   Getting GIT Remote Repository
•   Git Help
•   Demos
Visualize SVN Vs GIT
KEY POINTS :
SVN is vulnerable to corruption
SVN repository should have better backup plans
SVN cannot work with low network speed.
SVN consumes more space
SVN is not scalable if your bases is of 1000s user
SVN, if build is failed every one is stuck
SVN, if central code is diluted all code fades out
SVN, for collaboration code has to be checked in




                                                     http://www.youtube.com/watch?v=ntTpM8hfl_E&feature=related
What is Delta Storage ?




Instead of saving or replacing entire file, only differences are saved and tracked.
Svn is vulnerable
                       Git portability – (Svn corruption problem)
to corruption even
when the OS or
media is not
changed. However
the git can be
ported on daily
basis to different
media without
corruption, it is
robust it will be up
after 10 years.

Animation – P 483




                           https://github.com/premaseem/precisionlms
Git Architecture
•   Index
     – Stores information about current working directory and
        changes made to it
•   Object Database
     – Blobs (files)
          • Stored in .git/objects
          • Indexed by unique hash
          • All files are stored as blobs
     – Trees (directories)
     – Commits
          • One object for every commit
          • Contains hash of parent, name of author, time of
            commit, and hash of the current tree
     – Tags
Git Workflow
• Fetch or clone (create a copy of the remote
  repository) (compare to cvs check out)
• Modify the files in the local branch
• Stage the files (no cvs comparison)
• Commit the files locally (no cvs comparison)
• Push changes to remote repository (compare to
  cvs commit)
Git Local repository
                     add                 commit

                                                  Object
   Working tree             Index
                                                   store
    (sand box)             (cache)




                            pull, push


Other Repositories
                                                           8
How Git object Database works




Entire version history, branch data and content are hashed, compressed and stored
    locally to make it faster better and easy to share.
Light weight(delta)   Branching(context switching)
No massive copying
can be switched
can be
local/remote
can be shared
commit specific
branch
Instead of sticking
to one central
                      Multiple remote repository
repository, git
helps to deal with
multiple remote
repository
Refer – p 188
The workflow
                                Dictator model
demonstrated here
solves the problem
of multiple
projects working
on same codebase.

Animation – P 483




                     https://github.com/premaseem/precisionlms
Getting git remote    Getting Git Remote Repository
repository which is
free. It has simple
login, configuratio
n than you get the
remote location to
open you code
base to rest of the
world for
contribution.

(Pizz application)
Demo




                        https://github.com/premaseem/precisionlms
With SVN you are
compelled to           Git Merge and Rebase
merge and some
time gets
frustrated to loose
or rewrite what
you were doing.

Git will help you to
rebase and
continue without
distraction
Refer – p 213
Blog link for details of git commands :
               http://premaseem.wordpress.com/2011/11/16/git-commans/
      152
Git Commands
Blog link for details of git commands :
                         http://premaseem.wordpress.com/2011/11/16/git-commans/
    GIT – “GUI”
Graphic User Interface
Some GIT Disadvantages
• Definite learning curve, especially for those used to
  centralized systems
   - Can sometimes seem overwhelming to learn 


• Documentation mostly through man pages
How to get help with git
• Read That Fabulous Manual
  http://www.kernel.org/pub/software/scm/git/docs/user-
  manual.html
• Books http://progit.org/book/ (free)
• Online training: https://github.com/training/online
• Git user groups online http://old.nabble.com/git-f12403.html
• Git mailing lists git-users@googlegroups.com
                 link: www.premaseem.com/git
Team Question ?

?
To download this presentation visit :   www.premaseem.com/git

Weitere ähnliche Inhalte

Was ist angesagt? (20)

Github
GithubGithub
Github
 
Intro to Git and GitHub
Intro to Git and GitHubIntro to Git and GitHub
Intro to Git and GitHub
 
Git and Github
Git and GithubGit and Github
Git and Github
 
GitHub Basics - Derek Bable
GitHub Basics - Derek BableGitHub Basics - Derek Bable
GitHub Basics - Derek Bable
 
Git basics to advance with diagrams
Git basics to advance with diagramsGit basics to advance with diagrams
Git basics to advance with diagrams
 
Introduction to Git and Github
Introduction to Git and GithubIntroduction to Git and Github
Introduction to Git and Github
 
Git training v10
Git training v10Git training v10
Git training v10
 
Introduction to GitHub
Introduction to GitHubIntroduction to GitHub
Introduction to GitHub
 
Git Introduction Tutorial
Git Introduction TutorialGit Introduction Tutorial
Git Introduction Tutorial
 
A Practical Introduction to git
A Practical Introduction to gitA Practical Introduction to git
A Practical Introduction to git
 
Git and github
Git and githubGit and github
Git and github
 
Git - Basic Crash Course
Git - Basic Crash CourseGit - Basic Crash Course
Git - Basic Crash Course
 
Git hub visualstudiocode
Git hub visualstudiocodeGit hub visualstudiocode
Git hub visualstudiocode
 
Git and git flow
Git and git flowGit and git flow
Git and git flow
 
Advanced Git Tutorial
Advanced Git TutorialAdvanced Git Tutorial
Advanced Git Tutorial
 
Introduction to github slideshare
Introduction to github slideshareIntroduction to github slideshare
Introduction to github slideshare
 
Git and GitHub
Git and GitHubGit and GitHub
Git and GitHub
 
Advanced Git
Advanced GitAdvanced Git
Advanced Git
 
Git vs svn
Git vs svnGit vs svn
Git vs svn
 
Git for beginners
Git for beginnersGit for beginners
Git for beginners
 

Andere mochten auch

Quick Introduction to git
Quick Introduction to gitQuick Introduction to git
Quick Introduction to gitJoel Krebs
 
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
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to GitLukas Fittl
 
Introduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guideIntroduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guideRohit Arora
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGeoff Hoffman
 
Git: A Getting Started Presentation
Git: A Getting Started PresentationGit: A Getting Started Presentation
Git: A Getting Started PresentationNap Ramirez
 
Git Version Control System
Git Version Control SystemGit Version Control System
Git Version Control SystemKMS Technology
 
A brief introduction to version control systems
A brief introduction to version control systemsA brief introduction to version control systems
A brief introduction to version control systemsTim Staley
 
Git and GitHub for Documentation
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for DocumentationAnne Gentle
 
Git vs SVN
Git vs SVNGit vs SVN
Git vs SVNneuros
 
DeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to DockerDeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to DockerSteve Smith
 
Learning git
Learning gitLearning git
Learning gitSid Anand
 
Version control with GIT
Version control with GITVersion control with GIT
Version control with GITZeeshan Khan
 

Andere mochten auch (20)

Quick Introduction to git
Quick Introduction to gitQuick Introduction to git
Quick Introduction to git
 
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
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
Basic Git Intro
Basic Git IntroBasic Git Intro
Basic Git Intro
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Introduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guideIntroduction to Git/Github - A beginner's guide
Introduction to Git/Github - A beginner's guide
 
Git Introduction
Git IntroductionGit Introduction
Git Introduction
 
Git 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using GitGit 101 - Crash Course in Version Control using Git
Git 101 - Crash Course in Version Control using Git
 
Git: A Getting Started Presentation
Git: A Getting Started PresentationGit: A Getting Started Presentation
Git: A Getting Started Presentation
 
Intro To Git
Intro To GitIntro To Git
Intro To Git
 
Git Version Control System
Git Version Control SystemGit Version Control System
Git Version Control System
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
 
A brief introduction to version control systems
A brief introduction to version control systemsA brief introduction to version control systems
A brief introduction to version control systems
 
Git Tutorial 教學
Git Tutorial 教學Git Tutorial 教學
Git Tutorial 教學
 
Git and GitHub for Documentation
Git and GitHub for DocumentationGit and GitHub for Documentation
Git and GitHub for Documentation
 
Git vs SVN
Git vs SVNGit vs SVN
Git vs SVN
 
DeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to DockerDeveloperWeek 2015: A Practical Introduction to Docker
DeveloperWeek 2015: A Practical Introduction to Docker
 
Learning git
Learning gitLearning git
Learning git
 
Tech thursdays / GIT
Tech thursdays / GITTech thursdays / GIT
Tech thursdays / GIT
 
Version control with GIT
Version control with GITVersion control with GIT
Version control with GIT
 

Ähnlich wie Git Presentation

Introduction to git
Introduction to gitIntroduction to git
Introduction to gitRam0603
 
Git essential training & sharing self
Git essential training & sharing selfGit essential training & sharing self
Git essential training & sharing selfChen-Tien Tsai
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIsTim Osborn
 
Why Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anywaysWhy Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anywaysCarlos Taborda
 
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
 
The Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHubThe Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHubBigBlueHat
 
Git_and_GitHub Integration_with_Guidewire
Git_and_GitHub Integration_with_GuidewireGit_and_GitHub Integration_with_Guidewire
Git_and_GitHub Integration_with_GuidewireGandhi Ramu
 
Git basic stanley hsiao 2010_12_15
Git basic stanley hsiao 2010_12_15Git basic stanley hsiao 2010_12_15
Git basic stanley hsiao 2010_12_15Chen-Han Hsiao
 
Introduction to Git for Network Engineers
Introduction to Git for Network EngineersIntroduction to Git for Network Engineers
Introduction to Git for Network EngineersJoel W. King
 
Version Control Systems -- Git -- Part I
Version Control Systems -- Git -- Part IVersion Control Systems -- Git -- Part I
Version Control Systems -- Git -- Part ISergey Aganezov
 
Basics About Git & GitHub
Basics About Git & GitHubBasics About Git & GitHub
Basics About Git & GitHubRaiful Hasan
 
Git is a distributed version control system .
Git is a distributed version control system .Git is a distributed version control system .
Git is a distributed version control system .HELLOWorld889594
 
Svn vs mercurial vs github
Svn  vs  mercurial vs  githubSvn  vs  mercurial vs  github
Svn vs mercurial vs githubVinoth Kannan
 

Ähnlich wie Git Presentation (20)

Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
Git essential training & sharing self
Git essential training & sharing selfGit essential training & sharing self
Git essential training & sharing self
 
Git training (basic)
Git training (basic)Git training (basic)
Git training (basic)
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIs
 
Introduction to git
Introduction to gitIntroduction to git
Introduction to git
 
Git for Windows
Git for WindowsGit for Windows
Git for Windows
 
Git 101
Git 101Git 101
Git 101
 
Why Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anywaysWhy Git Sucks and you'll use it anyways
Why Git Sucks and you'll use it anyways
 
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
 
The Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHubThe Basics of Open Source Collaboration With Git and GitHub
The Basics of Open Source Collaboration With Git and GitHub
 
Subversion to Git Migration
Subversion to Git MigrationSubversion to Git Migration
Subversion to Git Migration
 
Git_and_GitHub Integration_with_Guidewire
Git_and_GitHub Integration_with_GuidewireGit_and_GitHub Integration_with_Guidewire
Git_and_GitHub Integration_with_Guidewire
 
Git basic stanley hsiao 2010_12_15
Git basic stanley hsiao 2010_12_15Git basic stanley hsiao 2010_12_15
Git basic stanley hsiao 2010_12_15
 
Introduction to Git for Network Engineers
Introduction to Git for Network EngineersIntroduction to Git for Network Engineers
Introduction to Git for Network Engineers
 
Version Control Systems -- Git -- Part I
Version Control Systems -- Git -- Part IVersion Control Systems -- Git -- Part I
Version Control Systems -- Git -- Part I
 
Basics About Git & GitHub
Basics About Git & GitHubBasics About Git & GitHub
Basics About Git & GitHub
 
Git is a distributed version control system .
Git is a distributed version control system .Git is a distributed version control system .
Git is a distributed version control system .
 
GIT-FirstPart.ppt
GIT-FirstPart.pptGIT-FirstPart.ppt
GIT-FirstPart.ppt
 
Svn vs mercurial vs github
Svn  vs  mercurial vs  githubSvn  vs  mercurial vs  github
Svn vs mercurial vs github
 

Kürzlich hochgeladen

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Wonjun Hwang
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek SchlawackFwdays
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Manik S Magar
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piececharlottematthew16
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 

Kürzlich hochgeladen (20)

Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
Bun (KitWorks Team Study 노별마루 발표 2024.4.22)
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
"Subclassing and Composition – A Pythonic Tour of Trade-Offs", Hynek Schlawack
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!Anypoint Exchange: It’s Not Just a Repo!
Anypoint Exchange: It’s Not Just a Repo!
 
Story boards and shot lists for my a level piece
Story boards and shot lists for my a level pieceStory boards and shot lists for my a level piece
Story boards and shot lists for my a level piece
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 

Git Presentation

  • 1. Git - Fast Version Control System Presentation By: Aseem Jain
  • 2. Agenda (apart from fun) • Visualize “GIT Vs SVN” • What is Delta Storage ? • GIT Work Flow • GIT Architecture • Branching • Merge and Rebase • Dictator Model • Getting GIT Remote Repository • Git Help • Demos
  • 3. Visualize SVN Vs GIT KEY POINTS : SVN is vulnerable to corruption SVN repository should have better backup plans SVN cannot work with low network speed. SVN consumes more space SVN is not scalable if your bases is of 1000s user SVN, if build is failed every one is stuck SVN, if central code is diluted all code fades out SVN, for collaboration code has to be checked in http://www.youtube.com/watch?v=ntTpM8hfl_E&feature=related
  • 4. What is Delta Storage ? Instead of saving or replacing entire file, only differences are saved and tracked.
  • 5. Svn is vulnerable Git portability – (Svn corruption problem) to corruption even when the OS or media is not changed. However the git can be ported on daily basis to different media without corruption, it is robust it will be up after 10 years. Animation – P 483 https://github.com/premaseem/precisionlms
  • 6. Git Architecture • Index – Stores information about current working directory and changes made to it • Object Database – Blobs (files) • Stored in .git/objects • Indexed by unique hash • All files are stored as blobs – Trees (directories) – Commits • One object for every commit • Contains hash of parent, name of author, time of commit, and hash of the current tree – Tags
  • 7. Git Workflow • Fetch or clone (create a copy of the remote repository) (compare to cvs check out) • Modify the files in the local branch • Stage the files (no cvs comparison) • Commit the files locally (no cvs comparison) • Push changes to remote repository (compare to cvs commit)
  • 8. Git Local repository add commit Object Working tree Index store (sand box) (cache) pull, push Other Repositories 8
  • 9. How Git object Database works Entire version history, branch data and content are hashed, compressed and stored locally to make it faster better and easy to share.
  • 10. Light weight(delta) Branching(context switching) No massive copying can be switched can be local/remote can be shared commit specific branch
  • 11. Instead of sticking to one central Multiple remote repository repository, git helps to deal with multiple remote repository Refer – p 188
  • 12. The workflow Dictator model demonstrated here solves the problem of multiple projects working on same codebase. Animation – P 483 https://github.com/premaseem/precisionlms
  • 13. Getting git remote Getting Git Remote Repository repository which is free. It has simple login, configuratio n than you get the remote location to open you code base to rest of the world for contribution. (Pizz application) Demo https://github.com/premaseem/precisionlms
  • 14. With SVN you are compelled to Git Merge and Rebase merge and some time gets frustrated to loose or rewrite what you were doing. Git will help you to rebase and continue without distraction Refer – p 213
  • 15. Blog link for details of git commands : http://premaseem.wordpress.com/2011/11/16/git-commans/ 152 Git Commands
  • 16. Blog link for details of git commands : http://premaseem.wordpress.com/2011/11/16/git-commans/ GIT – “GUI” Graphic User Interface
  • 17. Some GIT Disadvantages • Definite learning curve, especially for those used to centralized systems - Can sometimes seem overwhelming to learn  • Documentation mostly through man pages
  • 18. How to get help with git • Read That Fabulous Manual http://www.kernel.org/pub/software/scm/git/docs/user- manual.html • Books http://progit.org/book/ (free) • Online training: https://github.com/training/online • Git user groups online http://old.nabble.com/git-f12403.html • Git mailing lists git-users@googlegroups.com link: www.premaseem.com/git
  • 20. To download this presentation visit : www.premaseem.com/git