git-last-modified - Man Page

EXPERIMENTAL: Show when files were last modified

Synopsis

git last-modified [--recursive] [--show-trees] [--max-depth=<depth>] [-z]
		  [<revision-range>] [[--] <pathspec>​...]

Description

Shows which commit last modified each of the relevant files and subdirectories​. A commit renaming a path, or changing it’s mode is also taken into account​.

THIS COMMAND IS EXPERIMENTAL​. THE BEHAVIOR MAY CHANGE​.

Options

-r,  --recursive

Recursively traverse into all subtrees​. By default, the command only shows tree entries matching the <pathspec>​. With this option, it descends into subtrees and displays all entries within them​. Equivalent to --max-depth=-1​.

-t,  --show-trees

Show tree entries even when recursing into them​.

--max-depth=<depth>

For each pathspec given on the command line, traverse at most <depth> levels into subtrees​. A negative value means no limit​. The default is 0, which shows all paths matching the pathspec without descending into subtrees​.

-z

Terminate each line with a NUL character rather than a newline​.

<revision-range>

Only traverse commits in the specified revision range​. When no <revision-range> is specified, it defaults to HEAD (i​.e​. the whole history leading to the current commit)​. For a complete list of ways to spell <revision-range>, see the Specifying Ranges section of gitrevisions(7)​.

[--] <pathspec>​.​.​.

Show the commit that last modified each path matching <pathspec>​. If no <pathspec> is given, all files and subdirectories are included​. See gitglossary(7) for details on pathspec syntax​.

Output

The output is in the format:

 <oid> TAB <path> LF

If a path contains any special characters, the path is C-style quoted​. To avoid quoting, pass option -z to terminate each line with a NUL​.

 <oid> TAB <path> NUL

See Also

git-blame(1), git-log(1)​.

Git

Part of the git(1) suite

Info

09/28/2026 Git 2.56.0 Git Manual