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


  1. 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
  2. 4.

    Does Git mean something? “I’m an egotistical bastard, and I

    name all my projects after myself. First Linux, now git.” Linus Torvalds
  3. 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
  4. 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
  5. 9.

    Development model with Git • No permissions to commit •

    Branches, branches, branches • Network of Trust instead of Corporate Policy • Leaders have release branches
  6. 10.

    What about SVN? • SVN is not dead • SVN

    still suite a lot of companies • Git for Crowd - SVN for Corporate
  7. 11.

    Github Git-as-Service • http://github.com • Git as SCM, RoR web

    interface • Huge community • Git sources hosted on Github