Chapter 9. Viewing History
The primary command for examining the commit history of your repository is git log. The documentation for this command, git-log(1), is about 30 pages long, and we shall not repeat all that detail here. We will cover its main modes of operation, as well as a selection of the most common and useful options and techniques.
Command Format
The format of the command is:
$ git log [options] [commits] [[--] path ...]The commits parameter specifies the commits Git should list for you, using the notation discussed in Naming Sets of Commits; for example:
-
git log -
The default for
commitsis HEAD, so this lists the commits reachable from the current HEAD commit. This is generally a branch, but may not be if you have checked out an arbitrary commit and are in “detached HEAD” mode (see Branches). -
git log topic - Lists the commits in the topic branch, even if you are on another branch.
-
git log alvin simon - Lists all commits on either of the branches alvin or simon.
-
git log alvin..simon - Lists all commits in simon that are not in alvin; this is often those commits on simon that have occurred since you last merged it with alvin.
Here, the names topic, alvin, and simon could also be tags, or expressions such as master~3 or 780ae563. You can also use patterns to indicate sets of refs instead of listing them all individually, with these options:
-
--{branches,tags,remotes}[=pattern] Behave as if all branches, tags, or remotes were given on the command line as the
commitsargument, ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access