Git is one of the most popular DVCS. It is an efficient, production-ready open source software used to maintain major projects like Linux kernel or Google Android. Its rich history representation, while being easy to understand at conceptual level, allows to offer users with extensive set of features that were hard or impossible to realize before.
In this talk I will introduce the concepts of Git as a DVCS, by showing the way Git deals with concurrent development in a distributed environment. In particular, I will discuss the representation of development history as a graph of objects, showing its capabilities and applications. Protocols used to synchronize repositories will be presented, as well with techniques used to reduce network transfer and disk storage.
Bio ----- Marek Zawirski was involved in Git development as a Google Summer of Code 2008 participant, implementing synchronization operation in JGit project