Make It Cooler: Using Decentralized Version Control
Shytikov git magic eng
1. GIT & Github EPAM systems
workshop, Nov 2012
Alexey Sytikov, EPAM Ukraine
http://github.com/shytikov
2. A hook:
Unfortunately, I wont be
able to change your
mind, so I’ll start to
insult you immediately
.
3. BlaBlaBla! Or if you are
fan –be ready for the
resistance! the SVN
• Git is very fast (I’m fine even with
speed)
• Git has a local history (What shall I see
there that I haven’t seen before???)
• Git doesn’t need a server (Hey!!! But I
WANT a server!)
• Work with Github (Why one more
SourceForge is needed?)
• High-performance console commands
(but I LOVE GUI)
4. «Distributed»is..
• Your local computer can save ALL
detailed information about your
code;
• And it’s actively using ALL this
detailed information working with
the code;
• Your local computer can get MUCH
MORE detailed information from
other computers working on the
same project.
6. Why the others haven’t
thought it up?
• Actually, someone had thought it up
even before the version control
systems appeared;
• In Unix source codes used to be kept
as a sequence of patch-files (patch
routine);
• Git — is not the only system,
implementing this principle
(Mercurial, Baazar, fossil,
7. All the rest are derivatives:
• You’re going to enjoy the history of
the commits with the specification,
which YOU are going to choose (this I
can guarantee!)
• You’re going to be pleasantly
surprised about the operational
speed!;
• Working methods, which fit Agile
methodology perfectly.
8. My actual experience:
• Total number of files processed in
both CTP3 and CTP5 codebases is
around four thousand each;
• Total number of objects merged is
1170;
• Total number of conflicting files is
140;
• Еhe rate of successful merge is about
88% (1170 – 140) / 1170 * 100 = 88%;
• Most of conflicts are trivial;
• None-trivial — conflicts in about 20
files;