Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A little information about Git

A little information about Git

Presented on KievAltNet, UA Dev Club 2011

In this talk I describe some intial information and internal of the most popular DVCS system - Git.

Alexander Beletsky

October 30, 2011
Tweet

More Decks by Alexander Beletsky

Other Decks in Programming

Transcript

  1. A little information on Git
    Alexander Beletsky, E-conomic
    @alexbeletsky
    http://beletsky.net

    View Slide

  2. What is Git?
    Git is a distributed source code management
    system
    (c) K.O.

    View Slide

  3. The birth of Git
    ● It's all began in Linux Kernel community
    ● Tarballs and gzip used for long time to
    contribute patch
    ● BitKeeper as first SCM for Linux Kernel
    project
    ● Friendship is over in 2005
    ● Development of Kernel stopped till SCM is
    found
    ● No good enought alternatives found
    ● 2 weeks to create initial version of Git

    View Slide

  4. Does Git mean something?
    “I’m an egotistical bastard, and I name all my
    projects after myself. First Linux, now git.”
    Linus Torvalds

    View Slide

  5. Distributed
    ● No central repository
    ● Each developer host repository on machine
    ● Allows to work offline

    View Slide

  6. Content
    ● Content Tracking != File Tracking
    ● Name, path etc. is not part of content
    ● SHA1 algorithm used create content digest
    ● Separate "Index" and "Data"
    ● Store the version, not difference
    ● History is computed rather stored

    View Slide

  7. Management
    ● Blobs, Trees, Commits, Tags
    ● Indexes

    View Slide

  8. Branches and merges
    ● De-centralized but centralized
    ● Developers are welcome to do branches
    ● Pulling requests to each other
    ● Pushing changes to origin
    ● Merge is easy now

    View Slide

  9. Development model with Git
    ● No permissions to commit
    ● Branches, branches, branches
    ● Network of Trust instead of Corporate Policy
    ● Leaders have release branches

    View Slide

  10. What about SVN?
    ● SVN is not dead
    ● SVN still suite a lot of companies
    ● Git for Crowd - SVN for Corporate

    View Slide

  11. Github Git-as-Service
    ● http://github.com
    ● Git as SCM, RoR web interface
    ● Huge community
    ● Git sources hosted on Github

    View Slide

  12. THANK YOU!
    Questions?

    View Slide