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

More Decks by Alexander Beletsky

Other Decks in Programming


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

  2. What is Git? Git is a distributed source code management

    system (c) K.O.
  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
  4. Does Git mean something? “I’m an egotistical bastard, and I

    name all my projects after myself. First Linux, now git.” Linus Torvalds
  5. Distributed • No central repository • Each developer host repository

    on machine • Allows to work offline
  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
  7. Management • Blobs, Trees, Commits, Tags • Indexes

  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
  9. Development model with Git • No permissions to commit •

    Branches, branches, branches • Network of Trust instead of Corporate Policy • Leaders have release branches
  10. What about SVN? • SVN is not dead • SVN

    still suite a lot of companies • Git for Crowd - SVN for Corporate
  11. Github Git-as-Service • http://github.com • Git as SCM, RoR web

    interface • Huge community • Git sources hosted on Github
  12. THANK YOU! Questions?