Using Git to Manage and Deploy Rails Apps
Location: Portland Ballroom 252 Audience level: Intermediate
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.