Gittin’ Git

Raju Gandhi | 10:00 – 11:15


You have been using Git for a while now. You use topic branches, have committed and merged code. You know all your repository history is available to you at all times, that branching is cheap, and often hear of developers “rewriting history” and it makes you wonder how Git does what it does. The answer lies in the DAG (Directed Acyclic Graph) that Git creates to manage your code-base’s history. Understanding how the DAG works, and how different commands like merge and rebase affect that graph are key to Git mastery.

In this session we will take a peek at the datastructure that drives Git. We will see how Git uses it to manage your history, and perhaps even glean a software lesson or two from Git’s approach.


Raju is a Clojure/Java/Ruby developer and a programming language geek. He has been writing software for the better part of a decade in several industries including education, finance, construction and the manufacturing sector. Raju has a graduate degree in Industrial Engineering from Ohio University. Raju is Integrallis’ Clojure man and teaches Ruby/Rails, jQuery/JavaScript and of course Clojure.

In his spare time you will find Raju reading, watching movies, or playing with yet another programming language. Raju is the founder and host of inclojure, the Columbus Clojure User Group.