Deep dive into Git

Prerequisite knowledge

Attendees should have a working knowledge of Git and be comfortable using it.

Description

Git has amazing capacity for enabling powerful branching models, collaboration among distributed teams, and agile development. But it can also give you confusing error messages like “you are in a detached HEAD state,” and it has inscrutable documentation like “forward port local commits to the updated upstream head.”

Edward Thomson explains how Git actually works under the hood, the fundamentals of a repository, and how this makes Git fast and flexible. Fundamentally, the Git command-line tools are a very thin layer of abstraction on top of its data model, so by understanding how Git works, you can better understand both how to use the command line and what to do when things go wrong.

Topics include:

How Git stores history and how its graphical history model enables collaborative workflows

How Git actually stores data in the repository

How common Git commands like merge and rebase affect this history model

The index (or the stage or cache): how to use it and why it has so many different names

Edward Thomson

Microsoft

Edward Thomson is a senior program manager at Microsoft, where he focuses on Git and the version control tools in Visual Studio Team Services and ensures that customers are successful while using them. Previously, he was a software engineer building version control tools at Microsoft, GitHub, and SourceGear. He remains the maintainer of the libgit2 project. Edward is the author of the Git for Visual Studio training course from O’Reilly and a contributor to Professional Team Foundation Server 2013.