Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

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

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

Management ● Blobs, Trees, Commits, Tags ● Indexes

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

THANK YOU! Questions?