GIT-LAST-MODIFIED(1) Git Manual GIT-LAST-MODIFIED(1)
git-last-modified - EXPERIMENTAL: Show when files were last modified
git last-modified [--recursive] [--show-trees] [--max-depth=<depth>] [-z]
[<revision-range>] [[--] <pathspec>...]
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.
-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.
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
git-blame(1), git-log(1).
Part of the git(1) suite
Git 2.54.0 2026-04-19 GIT-LAST-MODIFIED(1)
NAME
git-last-modified - 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
Git 2.54.0 2026-04-19 GIT-LAST-MODIFIED(1)