SlideShare a Scribd company logo
1 of 15
Download to read offline
git ­ the stupid, fast, distributed content tracker




                             
Why the name – 'git' ?




    "I'm an egotistical ***, and I name all my projects 
            after myself. First 'Linux', now 'git'"




                             
What I'm not going to talk about

    
        How to use git 
         
             There are plenty of resources on the net which you 
             can just visit and learn about git.
    
        The internal implementations of git.
         
             You can subscribe to git mailing list, or go through 
             their archives, or even 'get git by git' to explore its 
             internals.
    
        http://git.or.cz/
                                       
My talk is about... 

    
        Why we chose git over other SCMs at Therap?
    
        Looking back at our decision after using git for a 
        major release.
    
        Sharing our experience with others so that they 
        can replicate the sucess we had with git.




                                
Therap's first SCM

    
        First SCM Therap used was SCCS (Source 
        Code Control System)
    
        At that time it was not available outside 
        commertial unix systems.
    
        We love Linux as developer's desktop at 
        Therap, so we chose to move to CVS.


                                 
Our days with CVS

    
        Major flaw with CVS was commits were not 
        atomic.
    
        As around that time our repository was in US, if 
        the internet like broke in the middle of a commit, 
        we ended up having a partial commit.
    
        We decided to maintain our local BD repository 
        with TLA (GNU Arch).

                                
Why not SVN?

    
        Though SVN was a popular choice at that time, 
        having more than one repository was not 
        natural to SVN.
    
        They had two type of storage, and one of them 
        was discontinued later on. This gave us the 
        impression of unstability of SVN and we chose 
        not to trust it with our source codes.

                               
The realm of GNU Arch (TLA) 

    
        TLA allowed us to have two repositories easily, 
        one at BD and another in US.
    
        We were able to apply changes made in BD 
        repository (branch) easily to US repositor and 
        vice versa.
    
        Storage of TLA was simple.


                                
As our growth continued...

    
        After three years of development, we have 
        more than 600K lines of code and more than 
        5000 files that we track in the SCM.
    
        TLA was aging.
    
        Commits and updates started to test our 
        paitence. 
    
        Applying changes to US repository started to 
        take around 20­30 mins!
                              
We needed a better SCM

    
        Linus's talk at Google Tech Talk inspired us.
    
        We decided, unless we try git in full scale at 
        Therap, we won't figure out its strengths.




                                 
Starting with git

    
        In the first week, everything seemed like a 
        problem.
    
        During the end of first week, a set of best 
        practices have evolved.
    
        By the middle of the second week, everyone 
        seems to have gotten the hold of it and reap 
        benifit out of git.

                                
git is FAST, DISTRIBUTED, RELIABLE


    
        Updating our repository at US now takes only 
        around 30 seconds!
    
        Our source code and its history is now safer 
        than it ever was before, as we now have 30+ 
        repositories instead of 2.
    
        Because of the way SHA1 is used in git, a 
        repository corruption will be detected early.

                                
Branching is native in git

    
        My branch is local at my box and if I fail at first 
        attempt I don't have to share my codes with 
        everybody in the development team.
    
        Facilates branching between the team 
        members which promotes them to do more 
        experimental stuffs along side regular 
        development.

                                  
Trust fabric is distributed in the team

    
        git promotes the way human interact, through 
        trust network
    
        Team leads pull from their team members, and 
        can push to a restricted repository, or 'Super 
        Lead' can pull from team leads.




                               
Questions


       
           ?


            

More Related Content

Viewers also liked

Jan Friis Nielson: Bideshi Experience
Jan Friis Nielson: Bideshi ExperienceJan Friis Nielson: Bideshi Experience
Jan Friis Nielson: Bideshi Experience
SQABD
 
Mozammel Haque: Scrum
Mozammel Haque: ScrumMozammel Haque: Scrum
Mozammel Haque: Scrum
SQABD
 
Aman: Developing a lightweight, hi-performance and dynamic JSON api server wi...
Aman: Developing a lightweight, hi-performance and dynamic JSON api server wi...Aman: Developing a lightweight, hi-performance and dynamic JSON api server wi...
Aman: Developing a lightweight, hi-performance and dynamic JSON api server wi...
SQABD
 
Hasin Hayder: Motivated team and getting most out of it
Hasin Hayder: Motivated team and getting most out of itHasin Hayder: Motivated team and getting most out of it
Hasin Hayder: Motivated team and getting most out of it
SQABD
 
Mobiel uitgeven voor smartphone en tablet
Mobiel uitgeven voor smartphone en tabletMobiel uitgeven voor smartphone en tablet
Mobiel uitgeven voor smartphone en tablet
lisavdh
 
Tanvir Afzal: Selenium
Tanvir Afzal: SeleniumTanvir Afzal: Selenium
Tanvir Afzal: Selenium
SQABD
 
M. Ayman Noor: SQA Empowerment
M. Ayman Noor: SQA EmpowermentM. Ayman Noor: SQA Empowerment
M. Ayman Noor: SQA Empowerment
SQABD
 

Viewers also liked (16)

Jan Friis Nielson: Bideshi Experience
Jan Friis Nielson: Bideshi ExperienceJan Friis Nielson: Bideshi Experience
Jan Friis Nielson: Bideshi Experience
 
Mozammel Haque: Scrum
Mozammel Haque: ScrumMozammel Haque: Scrum
Mozammel Haque: Scrum
 
Challenges in Embedded Development
Challenges in Embedded DevelopmentChallenges in Embedded Development
Challenges in Embedded Development
 
Aman: Developing a lightweight, hi-performance and dynamic JSON api server wi...
Aman: Developing a lightweight, hi-performance and dynamic JSON api server wi...Aman: Developing a lightweight, hi-performance and dynamic JSON api server wi...
Aman: Developing a lightweight, hi-performance and dynamic JSON api server wi...
 
WinklerPrinsOnline_Basisonderwijs_APS-IT
WinklerPrinsOnline_Basisonderwijs_APS-ITWinklerPrinsOnline_Basisonderwijs_APS-IT
WinklerPrinsOnline_Basisonderwijs_APS-IT
 
Hasin Hayder: Motivated team and getting most out of it
Hasin Hayder: Motivated team and getting most out of itHasin Hayder: Motivated team and getting most out of it
Hasin Hayder: Motivated team and getting most out of it
 
Am I Flexible?
Am I Flexible?Am I Flexible?
Am I Flexible?
 
Tauhid: SQL Server Database Change Automation
Tauhid: SQL Server Database Change AutomationTauhid: SQL Server Database Change Automation
Tauhid: SQL Server Database Change Automation
 
Shoeb: Implementation Challenges of a Paperless Admission System
Shoeb: Implementation Challenges of a Paperless Admission SystemShoeb: Implementation Challenges of a Paperless Admission System
Shoeb: Implementation Challenges of a Paperless Admission System
 
Ayman: When to stop testing?
Ayman: When to stop testing?Ayman: When to stop testing?
Ayman: When to stop testing?
 
Code Review In Testing View
Code Review In Testing ViewCode Review In Testing View
Code Review In Testing View
 
Mobiel uitgeven voor smartphone en tablet
Mobiel uitgeven voor smartphone en tabletMobiel uitgeven voor smartphone en tablet
Mobiel uitgeven voor smartphone en tablet
 
Tanvir Afzal: Selenium
Tanvir Afzal: SeleniumTanvir Afzal: Selenium
Tanvir Afzal: Selenium
 
M. Ayman Noor: SQA Empowerment
M. Ayman Noor: SQA EmpowermentM. Ayman Noor: SQA Empowerment
M. Ayman Noor: SQA Empowerment
 
Digitaal uitgeven + case Piccolo Picture Book apps
Digitaal uitgeven + case Piccolo Picture Book appsDigitaal uitgeven + case Piccolo Picture Book apps
Digitaal uitgeven + case Piccolo Picture Book apps
 
Imrul: Context Driven Testing
Imrul: Context Driven TestingImrul: Context Driven Testing
Imrul: Context Driven Testing
 

Similar to Mozammel Haque: Git -- Stupid, Fast, distributed content tracker

January 2022: Central Iowa Linux Users Group: Git
January 2022: Central Iowa Linux Users Group: GitJanuary 2022: Central Iowa Linux Users Group: Git
January 2022: Central Iowa Linux Users Group: Git
Andrew Denner
 
3 Git
3 Git3 Git
Github github-github
Github github-githubGithub github-github
Github github-github
fusion2011
 
Git: The Lean, Mean, Distributed Machine
Git: The Lean, Mean, Distributed MachineGit: The Lean, Mean, Distributed Machine
Git: The Lean, Mean, Distributed Machine
err
 

Similar to Mozammel Haque: Git -- Stupid, Fast, distributed content tracker (20)

Git slides
Git slidesGit slides
Git slides
 
Inside GitHub with Chris Wanstrath
Inside GitHub with Chris WanstrathInside GitHub with Chris Wanstrath
Inside GitHub with Chris Wanstrath
 
Gitting better
Gitting betterGitting better
Gitting better
 
Sonatype DevSecOps Leadership forum 2020
Sonatype DevSecOps Leadership forum 2020Sonatype DevSecOps Leadership forum 2020
Sonatype DevSecOps Leadership forum 2020
 
From SVN to Git
From SVN to GitFrom SVN to Git
From SVN to Git
 
Getting Git Right
Getting Git RightGetting Git Right
Getting Git Right
 
Git_tutorial.pdf
Git_tutorial.pdfGit_tutorial.pdf
Git_tutorial.pdf
 
Introduction to Git for developers
Introduction to Git for developersIntroduction to Git for developers
Introduction to Git for developers
 
January 2022: Central Iowa Linux Users Group: Git
January 2022: Central Iowa Linux Users Group: GitJanuary 2022: Central Iowa Linux Users Group: Git
January 2022: Central Iowa Linux Users Group: Git
 
Git for a newbie
Git for a newbieGit for a newbie
Git for a newbie
 
Be a Happier Developer with Git / Productive Team #gettinggitright
Be a Happier Developer with Git / Productive Team #gettinggitright Be a Happier Developer with Git / Productive Team #gettinggitright
Be a Happier Developer with Git / Productive Team #gettinggitright
 
Introduction to Git for Non-Developers
Introduction to Git for Non-DevelopersIntroduction to Git for Non-Developers
Introduction to Git for Non-Developers
 
Introduction to Git for Non-Developers
Introduction to Git for Non-DevelopersIntroduction to Git for Non-Developers
Introduction to Git for Non-Developers
 
12 tricks to avoid hackers breaks your CI / CD
12 tricks to avoid hackers breaks your  CI / CD12 tricks to avoid hackers breaks your  CI / CD
12 tricks to avoid hackers breaks your CI / CD
 
3 Git
3 Git3 Git
3 Git
 
Inside GitHub
Inside GitHubInside GitHub
Inside GitHub
 
Github github-github
Github github-githubGithub github-github
Github github-github
 
Git: The Lean, Mean, Distributed Machine
Git: The Lean, Mean, Distributed MachineGit: The Lean, Mean, Distributed Machine
Git: The Lean, Mean, Distributed Machine
 
A practical 30m intro to Git vcs
A practical 30m intro to Git vcsA practical 30m intro to Git vcs
A practical 30m intro to Git vcs
 
Git and Github Session
Git and Github SessionGit and Github Session
Git and Github Session
 

More from SQABD (11)

Hasin: Bangla Input Manager jQuery Plugin
Hasin: Bangla Input Manager jQuery PluginHasin: Bangla Input Manager jQuery Plugin
Hasin: Bangla Input Manager jQuery Plugin
 
Zahidul: Meta Testing
Zahidul: Meta TestingZahidul: Meta Testing
Zahidul: Meta Testing
 
Rabbi: Good to Great
Rabbi: Good to GreatRabbi: Good to Great
Rabbi: Good to Great
 
Mozammel: Solo Scrum - The Pomodoro Technique
Mozammel: Solo Scrum - The Pomodoro TechniqueMozammel: Solo Scrum - The Pomodoro Technique
Mozammel: Solo Scrum - The Pomodoro Technique
 
Hasan: Whats preventing me to write nearly accurate code
Hasan: Whats preventing me to write nearly accurate codeHasan: Whats preventing me to write nearly accurate code
Hasan: Whats preventing me to write nearly accurate code
 
Kabir Ahmed: AutoHotkey
Kabir Ahmed: AutoHotkeyKabir Ahmed: AutoHotkey
Kabir Ahmed: AutoHotkey
 
Shimul: Testing Mnemonics
Shimul: Testing MnemonicsShimul: Testing Mnemonics
Shimul: Testing Mnemonics
 
Innovation Stories of Test Toolsmiths
Innovation Stories of Test ToolsmithsInnovation Stories of Test Toolsmiths
Innovation Stories of Test Toolsmiths
 
CUCUMBER - Making BDD Fun
CUCUMBER - Making BDD FunCUCUMBER - Making BDD Fun
CUCUMBER - Making BDD Fun
 
SCALING Scrum
SCALING ScrumSCALING Scrum
SCALING Scrum
 
Do You Have a Hit List?
Do You Have a Hit List?Do You Have a Hit List?
Do You Have a Hit List?
 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Recently uploaded (20)

Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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...
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
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
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
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
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 

Mozammel Haque: Git -- Stupid, Fast, distributed content tracker

  • 2. Why the name – 'git' ? "I'm an egotistical ***, and I name all my projects  after myself. First 'Linux', now 'git'"    
  • 3. What I'm not going to talk about  How to use git   There are plenty of resources on the net which you  can just visit and learn about git.  The internal implementations of git.  You can subscribe to git mailing list, or go through  their archives, or even 'get git by git' to explore its  internals.  http://git.or.cz/    
  • 4. My talk is about...   Why we chose git over other SCMs at Therap?  Looking back at our decision after using git for a  major release.  Sharing our experience with others so that they  can replicate the sucess we had with git.    
  • 5. Therap's first SCM  First SCM Therap used was SCCS (Source  Code Control System)  At that time it was not available outside  commertial unix systems.  We love Linux as developer's desktop at  Therap, so we chose to move to CVS.    
  • 6. Our days with CVS  Major flaw with CVS was commits were not  atomic.  As around that time our repository was in US, if  the internet like broke in the middle of a commit,  we ended up having a partial commit.  We decided to maintain our local BD repository  with TLA (GNU Arch).    
  • 7. Why not SVN?  Though SVN was a popular choice at that time,  having more than one repository was not  natural to SVN.  They had two type of storage, and one of them  was discontinued later on. This gave us the  impression of unstability of SVN and we chose  not to trust it with our source codes.    
  • 8. The realm of GNU Arch (TLA)   TLA allowed us to have two repositories easily,  one at BD and another in US.  We were able to apply changes made in BD  repository (branch) easily to US repositor and  vice versa.  Storage of TLA was simple.    
  • 9. As our growth continued...  After three years of development, we have  more than 600K lines of code and more than  5000 files that we track in the SCM.  TLA was aging.  Commits and updates started to test our  paitence.   Applying changes to US repository started to    take around 20­30 mins!  
  • 10. We needed a better SCM  Linus's talk at Google Tech Talk inspired us.  We decided, unless we try git in full scale at  Therap, we won't figure out its strengths.    
  • 11. Starting with git  In the first week, everything seemed like a  problem.  During the end of first week, a set of best  practices have evolved.  By the middle of the second week, everyone  seems to have gotten the hold of it and reap  benifit out of git.    
  • 12. git is FAST, DISTRIBUTED, RELIABLE  Updating our repository at US now takes only  around 30 seconds!  Our source code and its history is now safer  than it ever was before, as we now have 30+  repositories instead of 2.  Because of the way SHA1 is used in git, a  repository corruption will be detected early.    
  • 13. Branching is native in git  My branch is local at my box and if I fail at first  attempt I don't have to share my codes with  everybody in the development team.  Facilates branching between the team  members which promotes them to do more  experimental stuffs along side regular  development.    
  • 14. Trust fabric is distributed in the team  git promotes the way human interact, through  trust network  Team leads pull from their team members, and  can push to a restricted repository, or 'Super  Lead' can pull from team leads.    
  • 15. Questions  ?