===== Overview ===== Discussion of ''git log'', with emphasis on reachability. ===== Reachability ===== ''git log'' displays repository history based on //reachability//: o---o---o---o---o master \ \ o---o---o---o---o next \ o---o---o topic Identify the specific starting point(s): $ git log master $ git log topic master Identify revisions not of interest: $ git log next --not master $ git log next ^master $ git log next topic ^master $ git log b1 b2 b3 ... ^b8 ^b9 v1.0 v2.0 ... Given this history: o---o---o---o---o master \ \ o---o---o---o---o next \ o---o---o topic there is a special notation for the most common exclusion (//remember this one for rebasing//): $ git log next ^master $ git log master..next $ git log next..topic ===== Why is "git log" so slow? ===== If you want to see the log of all changes to a single file: $ git log --oneline -- scripts/dtc/Makefile it will take a while as Git does //not// store per-file changes with the file. ===== diff-filter ===== Show only commits that deleted files: $ git log --diff-filter=D --summary