SlideShare a Scribd company logo
1 of 19
GIT SCM
Contents
• Popularity
    – Projects that use/require Git
• Functionality
    – Distributed repository
    – Branching/merging
•   Learning
•   Resources required
•   Support by 3rd party tools
•   Summary
Git vs SVN on Google Trends
GitHub vs SourceForge on
     Google Trends
Projects that use Git
•   Linux kernel             •   less.js
•   Ruby on Rails            •   Elastic search
•   jQuery                   •   Eclipse
•   node.js                  •   Gnome
•   Twitter bootstrap        •   KDE
•   Diaspora SN              •   Qt
•   Symfony (requires it!)   •   Android (!!!)
•   Facebook OS projects     •   Stanford/Berkley in
                                 their learning courses
Git Concepts
• Local Repository(just type git init, or right
  click…)
• Commit
• Push/pull
• Origin ( the place you took the source from)
• Tags ( real tags, no space required, made
  effortlessly)
• Branches (actual branches, not copies of code)
Distributed vs Centralized
But, you can use Git as a centralized
         repository as well
                      Team
               branches(feature,
             release, maintenance)




                                     Can have
                                       local
                                     branches
Pros
• Git is incredibly faster than SVN cause nearly all operations other
  than push and pull work locally
• Uses compression when storing/sending code over network. As a
  result pull/clone/push happen a lot faster.
• Preserves the actual author of the code during merge
• Allows simultaneous storage of several branches in a single folder
• Allows offline commits
• Branches know where they came from. Merging them is a piece of
  cake
• Does not pollute your repo by creating stupid .svn folders in each
  folder
Pros continued
• Git repos are much smaller than SVN’s (30x smaller in
  case of Mozilla project)
• Git branches are simpler and less resource heavy than
  SVN's
• Git allows you to execute hooks on some
  events(commit, push, pull)
• Allows commit amend (fix your last commit)
• Requires the damned comment thing
• To be sure that you won’t loose some code you can just
  commit it locally instead of copying the files
• Ignoring files is easier
What people will learn when working
              with git
• A more modern way to do SCM
• They will learn to actually do branching. It won’t
  be a pain in the ass
• They would be forced to type in the damned
  comment when committing. The thing’s
  important.
• They won’t have to learn it anyway when they
  finally encounter it in the wild (symfony2)
• Anyone who knows git can handle SVN anytime
• Contributing
Cons
• Steep learning curve
• Some UI tools do not yet fully support Git
• Is harder to configure on client machine ( at
  least it was a year ago )
• It is impossible to checkout a portion of the
  project tree (???)
• Cumbersome revision numbers
Git performance
Git Branching?
• Tracks the project revision the branch started
  from
• Records branch merge events
  (author, time, date, branch revision info)
• Changes made on the branches remain attributed
  to original authors
• Changes made during the merging process are
  attributed to the merging user
• Automatically starts the next merge at the last
  merge (a branch can be merged twice)
Possible Branching Model
Resources Required
          SVN                    Git
• Centralized server   • Centralized server
• Client software      • Client software
  • TortoiseSVN          • TortoiseGit
  • IDE/plugin           • IDE/plugin
  • Command line         • Command line git
     SVN client             client
                         • SmartGit if none
                            of the above suits
Setup on windows
• mysysgit port of git to windows
• Public/private certificates on each user
  machine for auth
• TortoiseGit (so one will have lovely icons on git
  managed folders)
• SmartGit looks like the best UI tool (I haven’t
  tried eclipse built-in git plugin)
Tools
•   TortoiseGit
•   Command line utility
•   SmartGit
•   Eclipse git plugin ( EGit )
•   Git source control provider for Visual Studio
Resources
• A successful Git branching model
  http://goo.gl/b1EA7
• Good Git cheatsheet http://goo.gl/vUSlV
• Git website http://goo.gl/D3sxy

More Related Content

Viewers also liked

Viewers also liked (6)

Snakes on the Web; Developing web applications in python
Snakes on the Web; Developing web applications in pythonSnakes on the Web; Developing web applications in python
Snakes on the Web; Developing web applications in python
 
Thaana computing brief history
Thaana computing brief historyThaana computing brief history
Thaana computing brief history
 
Course Tech 2013, Lisa Friedrichsen, Wikis -- Quick Fun,Fast Support
Course Tech 2013, Lisa Friedrichsen, Wikis -- Quick Fun,Fast SupportCourse Tech 2013, Lisa Friedrichsen, Wikis -- Quick Fun,Fast Support
Course Tech 2013, Lisa Friedrichsen, Wikis -- Quick Fun,Fast Support
 
KServe Retail Outlet
KServe Retail OutletKServe Retail Outlet
KServe Retail Outlet
 
Laravel for Web Artisans
Laravel for Web ArtisansLaravel for Web Artisans
Laravel for Web Artisans
 
Laravel 5 In Depth
Laravel 5 In DepthLaravel 5 In Depth
Laravel 5 In Depth
 

Similar to Git

Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucket
Sumin Byeon
 

Similar to Git (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!
 
Git for Windows
Git for WindowsGit for Windows
Git for Windows
 
Learn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levelsLearn Git - For Beginners and Intermediate levels
Learn Git - For Beginners and Intermediate levels
 
Git Presentation
Git PresentationGit Presentation
Git Presentation
 
Git for folk who like GUIs
Git for folk who like GUIsGit for folk who like GUIs
Git for folk who like GUIs
 
Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?Que nos espera a los ALM Dudes para el 2013?
Que nos espera a los ALM Dudes para el 2013?
 
Git'in on Windows
Git'in on WindowsGit'in on Windows
Git'in on Windows
 
Practical Git - NYC Code Camp
Practical Git - NYC Code CampPractical Git - NYC Code Camp
Practical Git - NYC Code Camp
 
Mastering git
Mastering gitMastering git
Mastering git
 
Git basic
Git basicGit basic
Git basic
 
git and github
git and githubgit and github
git and github
 
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 with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucket
 
ePOM - Fundamentals of Research Software Development - Code Version Control
ePOM - Fundamentals of Research Software Development - Code Version ControlePOM - Fundamentals of Research Software Development - Code Version Control
ePOM - Fundamentals of Research Software Development - Code Version Control
 
Working with Git
Working with GitWorking with Git
Working with Git
 
Git(hub) for windows developers
Git(hub) for windows developersGit(hub) for windows developers
Git(hub) for windows developers
 
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...Using Git with Rational Team Concert and Rational ClearCase in enterprise env...
Using Git with Rational Team Concert and Rational ClearCase in enterprise env...
 
Intro to Git & GitHub
Intro to Git & GitHubIntro to Git & GitHub
Intro to Git & GitHub
 
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
 
Make Git Understand Excel Workbooks - Eusprig 2018
Make Git Understand Excel Workbooks - Eusprig 2018Make Git Understand Excel Workbooks - Eusprig 2018
Make Git Understand Excel Workbooks - Eusprig 2018
 

Recently uploaded

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 

Recently uploaded (20)

Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
Apidays New York 2024 - APIs in 2030: The Risk of Technological Sleepwalk by ...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 

Git

  • 2. Contents • Popularity – Projects that use/require Git • Functionality – Distributed repository – Branching/merging • Learning • Resources required • Support by 3rd party tools • Summary
  • 3. Git vs SVN on Google Trends
  • 4. GitHub vs SourceForge on Google Trends
  • 5. Projects that use Git • Linux kernel • less.js • Ruby on Rails • Elastic search • jQuery • Eclipse • node.js • Gnome • Twitter bootstrap • KDE • Diaspora SN • Qt • Symfony (requires it!) • Android (!!!) • Facebook OS projects • Stanford/Berkley in their learning courses
  • 6. Git Concepts • Local Repository(just type git init, or right click…) • Commit • Push/pull • Origin ( the place you took the source from) • Tags ( real tags, no space required, made effortlessly) • Branches (actual branches, not copies of code)
  • 8. But, you can use Git as a centralized repository as well Team branches(feature, release, maintenance) Can have local branches
  • 9. Pros • Git is incredibly faster than SVN cause nearly all operations other than push and pull work locally • Uses compression when storing/sending code over network. As a result pull/clone/push happen a lot faster. • Preserves the actual author of the code during merge • Allows simultaneous storage of several branches in a single folder • Allows offline commits • Branches know where they came from. Merging them is a piece of cake • Does not pollute your repo by creating stupid .svn folders in each folder
  • 10. Pros continued • Git repos are much smaller than SVN’s (30x smaller in case of Mozilla project) • Git branches are simpler and less resource heavy than SVN's • Git allows you to execute hooks on some events(commit, push, pull) • Allows commit amend (fix your last commit) • Requires the damned comment thing • To be sure that you won’t loose some code you can just commit it locally instead of copying the files • Ignoring files is easier
  • 11. What people will learn when working with git • A more modern way to do SCM • They will learn to actually do branching. It won’t be a pain in the ass • They would be forced to type in the damned comment when committing. The thing’s important. • They won’t have to learn it anyway when they finally encounter it in the wild (symfony2) • Anyone who knows git can handle SVN anytime • Contributing
  • 12. Cons • Steep learning curve • Some UI tools do not yet fully support Git • Is harder to configure on client machine ( at least it was a year ago ) • It is impossible to checkout a portion of the project tree (???) • Cumbersome revision numbers
  • 14. Git Branching? • Tracks the project revision the branch started from • Records branch merge events (author, time, date, branch revision info) • Changes made on the branches remain attributed to original authors • Changes made during the merging process are attributed to the merging user • Automatically starts the next merge at the last merge (a branch can be merged twice)
  • 16. Resources Required SVN Git • Centralized server • Centralized server • Client software • Client software • TortoiseSVN • TortoiseGit • IDE/plugin • IDE/plugin • Command line • Command line git SVN client client • SmartGit if none of the above suits
  • 17. Setup on windows • mysysgit port of git to windows • Public/private certificates on each user machine for auth • TortoiseGit (so one will have lovely icons on git managed folders) • SmartGit looks like the best UI tool (I haven’t tried eclipse built-in git plugin)
  • 18. Tools • TortoiseGit • Command line utility • SmartGit • Eclipse git plugin ( EGit ) • Git source control provider for Visual Studio
  • 19. Resources • A successful Git branching model http://goo.gl/b1EA7 • Good Git cheatsheet http://goo.gl/vUSlV • Git website http://goo.gl/D3sxy