git-whatchanged <option>…


Shows commit logs and diff output each commit introduces. The command internally invokes git-rev-list piped to git-diff-tree, and takes command line options for both of these commands.

This manual page describes only the most frequently used options.



Show textual diffs, instead of the git internal diff output format that is useful only to tell the changed paths and their nature of changes.


Limit output to <n> commits.


Limit output to between the two named commits (bottom exclusive, top inclusive).


Show git internal diff output, but for the whole tree, not just the top level.


Controls the output format for the commit logs. <format> can be one of raw, medium, short, full, and oneline.


By default, differences for merge commits are not shown. With this flag, show differences to that commit from all of its parents.

However, it is not very useful in general, although it is useful on a file-by-file basis.


git-whatchanged -p v2.6.12.. include/scsi drivers/scsi

Show as patches the commits since version v2.6.12 that changed any file in the include/scsi or drivers/scsi subdirectories

git-whatchanged --since="2 weeks ago" -- gitk

Show the changes during the last two weeks to the file gitk. The "--" is necessary to avoid confusion with the branch named gitk


Written by Linus Torvalds <> and Junio C Hamano <>


Documentation by David Greaves, Junio C Hamano and the git-list <>.


Part of the linkgit:git[7] suite