How do I get a list of all files that were affected by a given commit in a Git repository?
The simplest way to do this is by using git show
with the --name-only
flag:
git show --name-only $COMMIT_HASH
This command will output the commit metadata, the commit message, and then a list of filenames that were added, modified, or deleted in the commit.
To see how each file was affected (added, modified, or deleted), we can use the --name-status
flag instead:
git show --name-status $COMMIT_HASH
To remove the commit message from the output, we can add the --oneline
flag:
git show --name-only --oneline $COMMIT_HASH git show --name-status --oneline $COMMIT_HASH
This will still show the commit metadata in the first line of the output. To produce an output containing only the names of affected files, we must specify --pretty
with an empty format string:
git show --name-only --pretty=format:
Loved by over 4 million developers and more than 90,000 organizations worldwide, Sentry provides code-level observability to many of the world’s best-known companies like Disney, Peloton, Cloudflare, Eventbrite, Slack, Supercell, and Rockstar Games. Each month we process billions of exceptions from the most popular products on the internet.