Summary
This chapter showed us the various ways of exploring project history: finding relevant revisions, selecting and filtering revisions to display, and formatting the output.
We started with the description of the conceptual model of project history: the Directed Acyclic Graph (DAG) of revisions. Understanding this concept is very important because many selection tools refer directly or indirectly to the DAG.
Then, you learnt how to select a single revision and the range of revisions. We can use this knowledge to see what changes were made on a branch since its divergence from the base branch, and to find all the revisions which were made by the given developer.
We can even try to find bugs in the code by exploring the history: finding when a function was deleted from the code with a pickaxe
search, examining a file for how its code came to be and who wrote it with git blame
, and utilizing semi-automatic or automatic searches through the project history to find which version introduced...