List all files in a Git commit

David Y.

The Problem

How do I get a list of all files that were affected by a given commit in a Git repository?

The Solution

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.

Share on Twitter
Bookmark this page
Ask a questionJoin the discussion

Related Answers

A better experience for your users. An easier life for your developers.

    TwitterGitHubDribbbleLinkedinDiscord
© 2024 • Sentry is a registered Trademark
of Functional Software, Inc.