SlideShare ist ein Scribd-Unternehmen logo
1 von 31
Downloaden Sie, um offline zu lesen
Introducing: git
                         Level up your VCS




                                   [PLUG / May 6th 2009]
Wednesday, May 6, 2009
About Your Presenter

                   • Director of Architecture at HMS
                   • Open Source Groupie
                    • cpan, advocacy (this talk)
                   • http://asymmetrical-view.com/
Wednesday, May 6, 2009
Health Market Science
                   • HCP Demographic Info
                   • Compliance
                   • Data Integration Services
                   • OpenHMS
                   • We Hiring!
                    • Devs [Perl, Java], UI / UX, BA, PM
Wednesday, May 6, 2009
Not Covering

                   • Git vs Other VCSs
                         •   Hg/Mercurial, Darcs, etc.

                   • Installation
                   • Full Tutorial
                         •   http://www.gitready.com/


Wednesday, May 6, 2009
The Journey

            • SCM
            • History
            • Git
            • Demonstration
Wednesday, May 6, 2009
SCM in a Nutshell

      Software Configuration Management


      Source Code Management


      Protect and Track File Based Assets




Wednesday, May 6, 2009
Fundamentals of VCS
                    Initialize
                    Add Files
                    Commit
                    View History
                    Share
                    Update
                    Revert
                    Branch

Wednesday, May 6, 2009
VCS: Two Major Types

          Centralized
                   CVS, SVN,

                   Most Commercial Offerings

          Distributed
                   Git, Darcs, Hg, Bazar, BitKeeper




Wednesday, May 6, 2009
The Journey

            • SCM
            • History
            • Git
            • Demonstration
Wednesday, May 6, 2009
In the beginning...
           Linus used no VCS for the Linux Kernel (!)
                         “Only wimps use tape backup: _real_ men just upload their important
                                stuff on ftp, and let the rest of the world mirror it ;) “ – Linus


           BitKeeper first tried out by LinuxPPC project
           Linus Adopts it “Best tool for the job”
           Linus starts using a VCS in Feb 2002 (rejoice!)


Wednesday, May 6, 2009
The Plot Thickens
            BitKeeper by BitMover
                         Free use for Open Source
                         …so long as you don’t work on another DVCS
                         …or reverse engineer the wire protocol

            In steps Andrew Tridgell

            telnet bkserver bkport
            help^M


Wednesday, May 6, 2009
The Plot Thickens
            BitKeeper by BitMover
                         Free use for Open Source
                         …so long as you don’t work on another DVCS
                         …or reverse engineer the wire protocol

            In steps Andrew Tridgell

            telnet bkserver bkport
            help^M

                                                            Revoked
Wednesday, May 6, 2009
A git is born
           In Steps Linus Torvalds
       • Opinionated
       • Needed DVCS
       • Safeguards against corruption
       • High Performance (impatience is a virtue)

           Started:                    2005/04/03
           Announced:                  2005/04/06
           Self Hosting:               2005/04/07 (4d!)
           First Multi-branch Merge:   2005/04/18 (15d!)
Wednesday, May 6, 2009
The Journey

            • SCM
            • History
            • Git
            • Demonstration
Wednesday, May 6, 2009
“I'm an egotistical
             bastard, and I name
             all my projects after
             myself. First Linux,
             now git[1].”

                                   Linus Torvalds

                                 “I have an ego the size of a small planet” - Linus
                          [1] git (n): British slang for a stupid or unpleasant person

Wednesday, May 6, 2009
Not like the other VCSs

                Tracks Content via SHA-1 hash
                Working Area
                Index (Staging Area)
                Repositories (http, ssh, local, nfs, git)
                Stash


Wednesday, May 6, 2009
diff HEAD


                                        diff                   diff --cached


                                                   commit -u


                                        add                      commit                     push




                         Working                                                 Local               Remote
                                                     Index
                         Directory                                             Repository           Repository




                                     stash           Stash



                                                                clone, pull


                                                                                            fetch
                                     rm --cached



                                               merge, checkout


Wednesday, May 6, 2009
Stand Alone...




Wednesday, May 6, 2009
Collaborate...




Wednesday, May 6, 2009
git-svn

                git svn clone
                                                 (Gateway Drug)
                git svn dcommit
                git svn rebase

                (svn duplicates a lot of data, this makes the
                initial clone slow, but you only pay once)


Wednesday, May 6, 2009
Branching: Actually Useful


             CVS Branching: sucks
             SVN Branching: sucks
             GIT Branching: FTW!


Wednesday, May 6, 2009
Tools and Features
                gitk
                git log --color --graph
                .git/info/exclude and .gitignore
                git grep ‘java.util.Map’ $(git tag -l)


                Relative Versions
                     git diff HEAD^
                     git diff HEAD^^^^^
                     git diff HEAD~5 HEAD~10

Wednesday, May 6, 2009
Tools and Features
                     git blame <<file>>
                     git clean
                     git bisect
                     git add --interactive
                     git archive 
                         --prefix=java-memcached-client 
                         --format=tar 2.3 | 
                     gzip > java-memcached-client-2.3.tgz
                     git gui
                     git instaweb
Wednesday, May 6, 2009
The Journey

            • SCM
            • History
            • Git
            • Demonstration
Wednesday, May 6, 2009
Demonstration




             (run off to a terminal, don’t forget to start X, try not to make [too
               much of] a fool of yourself)


Wednesday, May 6, 2009
Should You Adopt Git?

                NO!
                     You just moved to {svn,Hg,darcs,*}
                     People Don’t like Change
                     Some Tools Still Immature

                     (honestly I couldn’t come up with any technical reasons)

Wednesday, May 6, 2009
Should You Adopt Git?

                YES!
                     Fantastic for local use
                         $HOME and /etc
                     git-svn
                     It’s fast
                         Happy Developers == more productive
                          (if you buy into that sort of thing)

Wednesday, May 6, 2009
Conclusion
                     Fast
                     Geek Chic
                     DVCS Different
                     Powerful
                     Easier Than it seems
                     (did I mention it’s fast?)

Wednesday, May 6, 2009
kyle@ppt:~ $ git commit –a –m ‘finished presentation’
         [detached HEAD a835269] finished presentations
          2 files changed, 3 insertions(+), 3 deletions(-)
         kyle@ppt:~ $ git push
         Counting objects: 5, done.
         Delta compression using 2 threads.
         Compressing objects: 100% (3/3), done.
         Writing objects: 100% (3/3), 297 bytes, done.
         Total 3 (delta 2), reused 0 (delta 0)
         Unpacking objects: 100% (3/3), done.
         To /home/git-repo/git-presentation/
            3fd2b39..867372e master -> master
         kyle@ppt:~ $ ^D




Wednesday, May 6, 2009
References
         http://www.youtube.com/watch?v=4XpnKHJAok8
         http://www.gitready.com/
         http://en.wikipedia.org/wiki/Git_(software)
         http://git-scm.com/
         http://git.or.cz/index
         http://git.kernel.org/
         http://kerneltrap.org/node/4966
         http://jbowes.wordpress.com/2007/02/18/git-bisect-a-practical-example-with-yum/
         http://github.com/bobmcwhirter/jboss-messaging/tree/master
         http://www.reddit.com/r/programming/comments/80xax/sourceforge_now_supports_git/
         http://www.advogato.org/person/apenwarr/diary/371.html
         http://maven.apache.org/scm/git.html
         http://code.google.com/p/tortoisegit/
         http://osteele.com/archives/2008/05/my-git-workflow
         http://confluence.atlassian.com/display/CRUCIBLE/Crucible+Git+Plugin
         http://code.google.com/p/msysgit/




Wednesday, May 6, 2009
Photo Credits
         http://www.flickr.com/photos/teducation/2592566840/
         http://www.flickr.com/photos/leecullivan/2868458125/
         http://www.flickr.com/photos/shaylor/21315572/
         http://www.flickr.com/photos/maxboss/76337059/
         http://www.flickr.com/photos/ogimogi/2253657555/
         http://www.flickr.com/photos/22863752@N06/2378924202/
         http://www.flickr.com/photos/ianhampton/65178598/
         http://www.flickr.com/photos/travalicando/381993996/
         http://www.flickr.com/photos/29007475@N08/3078319536/
         http://www.flickr.com/photos/devnull/359791913/
         http://www.flickr.com/photos/theducks/2234788198/




Wednesday, May 6, 2009

Weitere ähnliche Inhalte

Was ist angesagt?

Git 101 tutorial presentation
Git 101 tutorial presentationGit 101 tutorial presentation
Git 101 tutorial presentationTerry Wang
 
Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015mwrather
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notesglen_a_smith
 
Training: Day Two - Eclipse, Git, Maven
Training: Day Two - Eclipse, Git, MavenTraining: Day Two - Eclipse, Git, Maven
Training: Day Two - Eclipse, Git, MavenArtur Ventura
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsLee Hanxue
 
Git Tutorial I
Git Tutorial IGit Tutorial I
Git Tutorial IJim Yeh
 
Git with bitbucket (draft)
Git with bitbucket (draft)Git with bitbucket (draft)
Git with bitbucket (draft)Sumin Byeon
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHubNicolás Tourné
 
Workflows using Git GitHub | Edureka
Workflows using Git GitHub | EdurekaWorkflows using Git GitHub | Edureka
Workflows using Git GitHub | EdurekaEdureka!
 
OpenVZ, Virtuozzo and Docker
OpenVZ, Virtuozzo and DockerOpenVZ, Virtuozzo and Docker
OpenVZ, Virtuozzo and DockerKirill Kolyshkin
 
[FOSDEM 2020] Lazy distribution of container images
[FOSDEM 2020] Lazy distribution of container images[FOSDEM 2020] Lazy distribution of container images
[FOSDEM 2020] Lazy distribution of container imagesAkihiro Suda
 
All Things Containers - Docker, Kubernetes, Helm, Istio, GitOps and more
All Things Containers - Docker, Kubernetes, Helm, Istio, GitOps and moreAll Things Containers - Docker, Kubernetes, Helm, Istio, GitOps and more
All Things Containers - Docker, Kubernetes, Helm, Istio, GitOps and moreAll Things Open
 

Was ist angesagt? (20)

Git 101 tutorial presentation
Git 101 tutorial presentationGit 101 tutorial presentation
Git 101 tutorial presentation
 
Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015Introduction to Git, DrupalCamp LA 2015
Introduction to Git, DrupalCamp LA 2015
 
Mini git tutorial
Mini git tutorialMini git tutorial
Mini git tutorial
 
Git vs svn
Git vs svnGit vs svn
Git vs svn
 
Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
 
Git and Github
Git and GithubGit and Github
Git and Github
 
Training: Day Two - Eclipse, Git, Maven
Training: Day Two - Eclipse, Git, MavenTraining: Day Two - Eclipse, Git, Maven
Training: Day Two - Eclipse, Git, Maven
 
Git training
Git trainingGit training
Git training
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
 
Git Tutorial I
Git Tutorial IGit Tutorial I
Git Tutorial I
 
SVN 2 Git
SVN 2 GitSVN 2 Git
SVN 2 Git
 
Git & GitHub for Beginners
Git & GitHub for BeginnersGit & GitHub for Beginners
Git & GitHub for Beginners
 
Git with bitbucket (draft)
Git with bitbucket (draft)Git with bitbucket (draft)
Git with bitbucket (draft)
 
Social Coding GitHub 2015
Social Coding GitHub 2015Social Coding GitHub 2015
Social Coding GitHub 2015
 
Starting with Git & GitHub
Starting with Git & GitHubStarting with Git & GitHub
Starting with Git & GitHub
 
Workflows using Git GitHub | Edureka
Workflows using Git GitHub | EdurekaWorkflows using Git GitHub | Edureka
Workflows using Git GitHub | Edureka
 
OpenVZ, Virtuozzo and Docker
OpenVZ, Virtuozzo and DockerOpenVZ, Virtuozzo and Docker
OpenVZ, Virtuozzo and Docker
 
[FOSDEM 2020] Lazy distribution of container images
[FOSDEM 2020] Lazy distribution of container images[FOSDEM 2020] Lazy distribution of container images
[FOSDEM 2020] Lazy distribution of container images
 
01 - Git vs SVN
01 - Git vs SVN01 - Git vs SVN
01 - Git vs SVN
 
All Things Containers - Docker, Kubernetes, Helm, Istio, GitOps and more
All Things Containers - Docker, Kubernetes, Helm, Istio, GitOps and moreAll Things Containers - Docker, Kubernetes, Helm, Istio, GitOps and more
All Things Containers - Docker, Kubernetes, Helm, Istio, GitOps and more
 

Andere mochten auch

Quick Introduction to git
Quick Introduction to gitQuick Introduction to git
Quick Introduction to gitJoel Krebs
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to GitLukas Fittl
 
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/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
 
Introduction to Version Control
Introduction to Version ControlIntroduction to Version Control
Introduction to Version ControlJeremy Coates
 
Distributed Version Control Systems in the Enterprise - Atlassian Summit 2010
Distributed Version Control Systems in the Enterprise - Atlassian Summit 2010Distributed Version Control Systems in the Enterprise - Atlassian Summit 2010
Distributed Version Control Systems in the Enterprise - Atlassian Summit 2010Atlassian
 
Learning git
Learning gitLearning git
Learning gitSid Anand
 
Version control with GIT
Version control with GITVersion control with GIT
Version control with GITZeeshan Khan
 
JAZOON'13 - Bartosz Majsak - Git Workshop - Kung Fu
JAZOON'13 - Bartosz Majsak - Git Workshop - Kung FuJAZOON'13 - Bartosz Majsak - Git Workshop - Kung Fu
JAZOON'13 - Bartosz Majsak - Git Workshop - Kung Fujazoon13
 
Git vs Subversion: ¿Cuando elegir uno u otro?
Git vs Subversion: ¿Cuando elegir uno u otro?Git vs Subversion: ¿Cuando elegir uno u otro?
Git vs Subversion: ¿Cuando elegir uno u otro?Paradigma Digital
 
A proven path for migrating from clearcase to git and or subversion
A proven path for migrating from clearcase to git and or subversionA proven path for migrating from clearcase to git and or subversion
A proven path for migrating from clearcase to git and or subversionCollabNet
 
Annakannan PhD Viva presentation
Annakannan PhD Viva presentationAnnakannan PhD Viva presentation
Annakannan PhD Viva presentationAnna Kannan
 

Andere mochten auch (20)

Quick Introduction to git
Quick Introduction to gitQuick Introduction to git
Quick 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
Introduction to gitIntroduction to git
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/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 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 basic
Git basicGit basic
Git basic
 
Git Introduction
Git IntroductionGit Introduction
Git Introduction
 
Introduction to Version Control
Introduction to Version ControlIntroduction to Version Control
Introduction to Version Control
 
Getting Git
Getting GitGetting Git
Getting Git
 
Distributed Version Control Systems in the Enterprise - Atlassian Summit 2010
Distributed Version Control Systems in the Enterprise - Atlassian Summit 2010Distributed Version Control Systems in the Enterprise - Atlassian Summit 2010
Distributed Version Control Systems in the Enterprise - Atlassian Summit 2010
 
Versioning for Developers
Versioning for DevelopersVersioning for Developers
Versioning for Developers
 
Tech thursdays / GIT
Tech thursdays / GITTech thursdays / GIT
Tech thursdays / GIT
 
Learning git
Learning gitLearning git
Learning git
 
Version control with GIT
Version control with GITVersion control with GIT
Version control with GIT
 
JAZOON'13 - Bartosz Majsak - Git Workshop - Kung Fu
JAZOON'13 - Bartosz Majsak - Git Workshop - Kung FuJAZOON'13 - Bartosz Majsak - Git Workshop - Kung Fu
JAZOON'13 - Bartosz Majsak - Git Workshop - Kung Fu
 
Git vs Subversion: ¿Cuando elegir uno u otro?
Git vs Subversion: ¿Cuando elegir uno u otro?Git vs Subversion: ¿Cuando elegir uno u otro?
Git vs Subversion: ¿Cuando elegir uno u otro?
 
A proven path for migrating from clearcase to git and or subversion
A proven path for migrating from clearcase to git and or subversionA proven path for migrating from clearcase to git and or subversion
A proven path for migrating from clearcase to git and or subversion
 
Annakannan PhD Viva presentation
Annakannan PhD Viva presentationAnnakannan PhD Viva presentation
Annakannan PhD Viva presentation
 

Ähnlich wie Intro To Git

Getting Started with (Distributed) Version Control
Getting Started with (Distributed) Version ControlGetting Started with (Distributed) Version Control
Getting Started with (Distributed) Version ControlJohn Paulett
 
Open Source Tools For Freelancers
Open Source Tools For FreelancersOpen Source Tools For Freelancers
Open Source Tools For FreelancersChristie Koehler
 
あなたの知らないネットワークプログラミングの世界
あなたの知らないネットワークプログラミングの世界あなたの知らないネットワークプログラミングの世界
あなたの知らないネットワークプログラミングの世界Ryousei Takano
 
No Really, It's All About You
No Really, It's All About YouNo Really, It's All About You
No Really, It's All About YouChris Cornutt
 
Achieving Scale With Messaging And The Cloud 20090709
Achieving Scale With Messaging And The Cloud 20090709Achieving Scale With Messaging And The Cloud 20090709
Achieving Scale With Messaging And The Cloud 20090709leastfixedpoint
 
Introducing Immutant
Introducing Immutant Introducing Immutant
Introducing Immutant Jim Crossley
 
Marian Marinov Clusters With Glusterfs
Marian Marinov Clusters With GlusterfsMarian Marinov Clusters With Glusterfs
Marian Marinov Clusters With GlusterfsOntico
 
Building Scale Free Applications with Hadoop and Cascading
Building Scale Free Applications with Hadoop and CascadingBuilding Scale Free Applications with Hadoop and Cascading
Building Scale Free Applications with Hadoop and Cascadingcwensel
 
Google Web Toolkit for the Enterprise Developer - JBoss World 2009
Google Web Toolkit for the Enterprise Developer - JBoss World 2009Google Web Toolkit for the Enterprise Developer - JBoss World 2009
Google Web Toolkit for the Enterprise Developer - JBoss World 2009Fred Sauer
 
Groovy, to Infinity and Beyond - Groovy/Grails eXchange 2009
Groovy, to Infinity and Beyond - Groovy/Grails eXchange 2009Groovy, to Infinity and Beyond - Groovy/Grails eXchange 2009
Groovy, to Infinity and Beyond - Groovy/Grails eXchange 2009Guillaume Laforge
 
SAM SIG: Hadoop architecture, MapReduce patterns, and best practices with Cas...
SAM SIG: Hadoop architecture, MapReduce patterns, and best practices with Cas...SAM SIG: Hadoop architecture, MapReduce patterns, and best practices with Cas...
SAM SIG: Hadoop architecture, MapReduce patterns, and best practices with Cas...cwensel
 
MacRuby - When objective-c and Ruby meet
MacRuby - When objective-c and Ruby meetMacRuby - When objective-c and Ruby meet
MacRuby - When objective-c and Ruby meetMatt Aimonetti
 
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
 
Building A Scalable Open Source Storage Solution
Building A Scalable Open Source Storage SolutionBuilding A Scalable Open Source Storage Solution
Building A Scalable Open Source Storage SolutionPhil Cryer
 
Continuous Integration for Fun and Profit
Continuous Integration for Fun and ProfitContinuous Integration for Fun and Profit
Continuous Integration for Fun and Profitinovex GmbH
 
Merb The Super Bike Of Frameworks
Merb The Super Bike Of FrameworksMerb The Super Bike Of Frameworks
Merb The Super Bike Of FrameworksRowan Hick
 
Jordan Hubbard Talk @ LISA
Jordan Hubbard Talk @ LISAJordan Hubbard Talk @ LISA
Jordan Hubbard Talk @ LISAguest4c923d
 
2014 11-05 hpcac-kniep_christian_dockermpi
2014 11-05 hpcac-kniep_christian_dockermpi2014 11-05 hpcac-kniep_christian_dockermpi
2014 11-05 hpcac-kniep_christian_dockermpiQNIB Solutions
 
Breaking Bad Habits with GitLab CI
Breaking Bad Habits with GitLab CIBreaking Bad Habits with GitLab CI
Breaking Bad Habits with GitLab CIIvan Nemytchenko
 

Ähnlich wie Intro To Git (20)

Getting Started with (Distributed) Version Control
Getting Started with (Distributed) Version ControlGetting Started with (Distributed) Version Control
Getting Started with (Distributed) Version Control
 
Open Source Tools For Freelancers
Open Source Tools For FreelancersOpen Source Tools For Freelancers
Open Source Tools For Freelancers
 
Vagrant at LA Ruby
Vagrant at LA RubyVagrant at LA Ruby
Vagrant at LA Ruby
 
あなたの知らないネットワークプログラミングの世界
あなたの知らないネットワークプログラミングの世界あなたの知らないネットワークプログラミングの世界
あなたの知らないネットワークプログラミングの世界
 
No Really, It's All About You
No Really, It's All About YouNo Really, It's All About You
No Really, It's All About You
 
Achieving Scale With Messaging And The Cloud 20090709
Achieving Scale With Messaging And The Cloud 20090709Achieving Scale With Messaging And The Cloud 20090709
Achieving Scale With Messaging And The Cloud 20090709
 
Introducing Immutant
Introducing Immutant Introducing Immutant
Introducing Immutant
 
Marian Marinov Clusters With Glusterfs
Marian Marinov Clusters With GlusterfsMarian Marinov Clusters With Glusterfs
Marian Marinov Clusters With Glusterfs
 
Building Scale Free Applications with Hadoop and Cascading
Building Scale Free Applications with Hadoop and CascadingBuilding Scale Free Applications with Hadoop and Cascading
Building Scale Free Applications with Hadoop and Cascading
 
Google Web Toolkit for the Enterprise Developer - JBoss World 2009
Google Web Toolkit for the Enterprise Developer - JBoss World 2009Google Web Toolkit for the Enterprise Developer - JBoss World 2009
Google Web Toolkit for the Enterprise Developer - JBoss World 2009
 
Groovy, to Infinity and Beyond - Groovy/Grails eXchange 2009
Groovy, to Infinity and Beyond - Groovy/Grails eXchange 2009Groovy, to Infinity and Beyond - Groovy/Grails eXchange 2009
Groovy, to Infinity and Beyond - Groovy/Grails eXchange 2009
 
SAM SIG: Hadoop architecture, MapReduce patterns, and best practices with Cas...
SAM SIG: Hadoop architecture, MapReduce patterns, and best practices with Cas...SAM SIG: Hadoop architecture, MapReduce patterns, and best practices with Cas...
SAM SIG: Hadoop architecture, MapReduce patterns, and best practices with Cas...
 
MacRuby - When objective-c and Ruby meet
MacRuby - When objective-c and Ruby meetMacRuby - When objective-c and Ruby meet
MacRuby - When objective-c and Ruby meet
 
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
 
Building A Scalable Open Source Storage Solution
Building A Scalable Open Source Storage SolutionBuilding A Scalable Open Source Storage Solution
Building A Scalable Open Source Storage Solution
 
Continuous Integration for Fun and Profit
Continuous Integration for Fun and ProfitContinuous Integration for Fun and Profit
Continuous Integration for Fun and Profit
 
Merb The Super Bike Of Frameworks
Merb The Super Bike Of FrameworksMerb The Super Bike Of Frameworks
Merb The Super Bike Of Frameworks
 
Jordan Hubbard Talk @ LISA
Jordan Hubbard Talk @ LISAJordan Hubbard Talk @ LISA
Jordan Hubbard Talk @ LISA
 
2014 11-05 hpcac-kniep_christian_dockermpi
2014 11-05 hpcac-kniep_christian_dockermpi2014 11-05 hpcac-kniep_christian_dockermpi
2014 11-05 hpcac-kniep_christian_dockermpi
 
Breaking Bad Habits with GitLab CI
Breaking Bad Habits with GitLab CIBreaking Bad Habits with GitLab CI
Breaking Bad Habits with GitLab CI
 

Kürzlich hochgeladen

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsNathaniel Shimoni
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxBkGupta21
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESmohitsingh558521
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
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
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 3652toLead Limited
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????blackmambaettijean
 

Kürzlich hochgeladen (20)

TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Time Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directionsTime Series Foundation Models - current state and future directions
Time Series Foundation Models - current state and future directions
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
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
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
unit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptxunit 4 immunoblotting technique complete.pptx
unit 4 immunoblotting technique complete.pptx
 
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICESSALESFORCE EDUCATION CLOUD | FEXLE SERVICES
SALESFORCE EDUCATION CLOUD | FEXLE SERVICES
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
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)
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365Ensuring Technical Readiness For Copilot in Microsoft 365
Ensuring Technical Readiness For Copilot in Microsoft 365
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
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
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
What is Artificial Intelligence?????????
What is Artificial Intelligence?????????What is Artificial Intelligence?????????
What is Artificial Intelligence?????????
 

Intro To Git

  • 1. Introducing: git Level up your VCS [PLUG / May 6th 2009] Wednesday, May 6, 2009
  • 2. About Your Presenter • Director of Architecture at HMS • Open Source Groupie • cpan, advocacy (this talk) • http://asymmetrical-view.com/ Wednesday, May 6, 2009
  • 3. Health Market Science • HCP Demographic Info • Compliance • Data Integration Services • OpenHMS • We Hiring! • Devs [Perl, Java], UI / UX, BA, PM Wednesday, May 6, 2009
  • 4. Not Covering • Git vs Other VCSs • Hg/Mercurial, Darcs, etc. • Installation • Full Tutorial • http://www.gitready.com/ Wednesday, May 6, 2009
  • 5. The Journey • SCM • History • Git • Demonstration Wednesday, May 6, 2009
  • 6. SCM in a Nutshell Software Configuration Management Source Code Management Protect and Track File Based Assets Wednesday, May 6, 2009
  • 7. Fundamentals of VCS Initialize Add Files Commit View History Share Update Revert Branch Wednesday, May 6, 2009
  • 8. VCS: Two Major Types Centralized CVS, SVN, Most Commercial Offerings Distributed Git, Darcs, Hg, Bazar, BitKeeper Wednesday, May 6, 2009
  • 9. The Journey • SCM • History • Git • Demonstration Wednesday, May 6, 2009
  • 10. In the beginning... Linus used no VCS for the Linux Kernel (!) “Only wimps use tape backup: _real_ men just upload their important stuff on ftp, and let the rest of the world mirror it ;) “ – Linus BitKeeper first tried out by LinuxPPC project Linus Adopts it “Best tool for the job” Linus starts using a VCS in Feb 2002 (rejoice!) Wednesday, May 6, 2009
  • 11. The Plot Thickens BitKeeper by BitMover Free use for Open Source …so long as you don’t work on another DVCS …or reverse engineer the wire protocol In steps Andrew Tridgell telnet bkserver bkport help^M Wednesday, May 6, 2009
  • 12. The Plot Thickens BitKeeper by BitMover Free use for Open Source …so long as you don’t work on another DVCS …or reverse engineer the wire protocol In steps Andrew Tridgell telnet bkserver bkport help^M Revoked Wednesday, May 6, 2009
  • 13. A git is born In Steps Linus Torvalds • Opinionated • Needed DVCS • Safeguards against corruption • High Performance (impatience is a virtue) Started: 2005/04/03 Announced: 2005/04/06 Self Hosting: 2005/04/07 (4d!) First Multi-branch Merge: 2005/04/18 (15d!) Wednesday, May 6, 2009
  • 14. The Journey • SCM • History • Git • Demonstration Wednesday, May 6, 2009
  • 15. “I'm an egotistical bastard, and I name all my projects after myself. First Linux, now git[1].” Linus Torvalds “I have an ego the size of a small planet” - Linus  [1] git (n): British slang for a stupid or unpleasant person Wednesday, May 6, 2009
  • 16. Not like the other VCSs Tracks Content via SHA-1 hash Working Area Index (Staging Area) Repositories (http, ssh, local, nfs, git) Stash Wednesday, May 6, 2009
  • 17. diff HEAD diff diff --cached commit -u add commit push Working Local Remote Index Directory Repository Repository stash Stash clone, pull fetch rm --cached merge, checkout Wednesday, May 6, 2009
  • 20. git-svn git svn clone (Gateway Drug) git svn dcommit git svn rebase (svn duplicates a lot of data, this makes the initial clone slow, but you only pay once) Wednesday, May 6, 2009
  • 21. Branching: Actually Useful CVS Branching: sucks SVN Branching: sucks GIT Branching: FTW! Wednesday, May 6, 2009
  • 22. Tools and Features gitk git log --color --graph .git/info/exclude and .gitignore git grep ‘java.util.Map’ $(git tag -l) Relative Versions git diff HEAD^ git diff HEAD^^^^^ git diff HEAD~5 HEAD~10 Wednesday, May 6, 2009
  • 23. Tools and Features git blame <<file>> git clean git bisect git add --interactive git archive --prefix=java-memcached-client --format=tar 2.3 | gzip > java-memcached-client-2.3.tgz git gui git instaweb Wednesday, May 6, 2009
  • 24. The Journey • SCM • History • Git • Demonstration Wednesday, May 6, 2009
  • 25. Demonstration (run off to a terminal, don’t forget to start X, try not to make [too much of] a fool of yourself) Wednesday, May 6, 2009
  • 26. Should You Adopt Git? NO! You just moved to {svn,Hg,darcs,*} People Don’t like Change Some Tools Still Immature (honestly I couldn’t come up with any technical reasons) Wednesday, May 6, 2009
  • 27. Should You Adopt Git? YES! Fantastic for local use $HOME and /etc git-svn It’s fast Happy Developers == more productive (if you buy into that sort of thing) Wednesday, May 6, 2009
  • 28. Conclusion Fast Geek Chic DVCS Different Powerful Easier Than it seems (did I mention it’s fast?) Wednesday, May 6, 2009
  • 29. kyle@ppt:~ $ git commit –a –m ‘finished presentation’ [detached HEAD a835269] finished presentations 2 files changed, 3 insertions(+), 3 deletions(-) kyle@ppt:~ $ git push Counting objects: 5, done. Delta compression using 2 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (3/3), 297 bytes, done. Total 3 (delta 2), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. To /home/git-repo/git-presentation/ 3fd2b39..867372e master -> master kyle@ppt:~ $ ^D Wednesday, May 6, 2009
  • 30. References http://www.youtube.com/watch?v=4XpnKHJAok8 http://www.gitready.com/ http://en.wikipedia.org/wiki/Git_(software) http://git-scm.com/ http://git.or.cz/index http://git.kernel.org/ http://kerneltrap.org/node/4966 http://jbowes.wordpress.com/2007/02/18/git-bisect-a-practical-example-with-yum/ http://github.com/bobmcwhirter/jboss-messaging/tree/master http://www.reddit.com/r/programming/comments/80xax/sourceforge_now_supports_git/ http://www.advogato.org/person/apenwarr/diary/371.html http://maven.apache.org/scm/git.html http://code.google.com/p/tortoisegit/ http://osteele.com/archives/2008/05/my-git-workflow http://confluence.atlassian.com/display/CRUCIBLE/Crucible+Git+Plugin http://code.google.com/p/msysgit/ Wednesday, May 6, 2009
  • 31. Photo Credits http://www.flickr.com/photos/teducation/2592566840/ http://www.flickr.com/photos/leecullivan/2868458125/ http://www.flickr.com/photos/shaylor/21315572/ http://www.flickr.com/photos/maxboss/76337059/ http://www.flickr.com/photos/ogimogi/2253657555/ http://www.flickr.com/photos/22863752@N06/2378924202/ http://www.flickr.com/photos/ianhampton/65178598/ http://www.flickr.com/photos/travalicando/381993996/ http://www.flickr.com/photos/29007475@N08/3078319536/ http://www.flickr.com/photos/devnull/359791913/ http://www.flickr.com/photos/theducks/2234788198/ Wednesday, May 6, 2009