Back to 2014-proposals
Title: Git archaeology
Proposer: Charles Bailey
Type: Tutorial
Duration: 90 mins
Description:
Source control is all warm and fuzzy in day-to-day to development but it should
really come into its own when things are going wrong.
Paradoxically, the need to delve into the past is frequently triggered by urgent
events in the present. Something has gone wrong, but what caused this failure?
What changed recently? How long has this function been coded like this? What
other releases is this issue likely to affect?
Git comes with powerful tools and features that help answer some of these
important questions and this session is aimed at giving an overview of what
tools are available and how to use them via live demonstrations with real world
repositories.
Tools tested in anger include:
- log: an underrated tool that has a plenty of options to help narrow down ranges
of suspect commits by author, log message contents, or the content of the change
itself.
- blame: a potentially useful tool that can be a little frustrating to use.
There are ways to help extract the maximal amount of useful information from it.
- bisect: a powerful tool that can quickly track down a simple error or to grind
through extensive automated tests to find well hidden regressions.