Git is a stupid content tracker used primarily as a distributed source code management system that is beginning to get a lot of use in the Rails community, including a new Capistrano SCM module, a new Peepcast episode focused on it, and the Rubinius project switching to it.

This talk will first demonstrate how Git works at a technical level, including descriptions of the object database, the index file, the working directory, the main Git object types and the plumbing toolkit. We will first show how Git is primarily a tree history storage and directory content management system, and then demonstrate how an SCM is built on top of that.

It will then cover how you can use Git to manage a software project with a distributed team. This will cover creating a new Git repository, exporting public or external repositories, branching and merging, pushing and pulling between users repositories, and tagging. We will also go over how to use Git to work with SVN projects and how to convert an SVN project to Git.

Lastly, we will go over how to deploy a Rails app with Capistrano’s new Git SCM module. Since Capistrano 2.1, Git is a supported SCM, and this talk will cover how to set it up and what options are available.

Scott Chacon

GitHub

Scott Chacon is a cofounder and the CIO of GitHub. He is also the author of the Pro Git book by Apress and the maintainer of the Git homepage (git-scm.com). Scott has presented at dozens of conferences around the world on Git, GitHub and the future of work.