Sentry Answers>Git>

List all files in a Git commit

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:

Click to Copy
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:

Click to Copy
git show --name-status $COMMIT_HASH

To remove the commit message from the output, we can add the --oneline flag:

Click to Copy
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:

Click to Copy
git show --name-only --pretty=format:
  • Syntax.fmListen to the Syntax Podcast
  • ResourcesWhat is Distributed Tracing
  • Syntax.fm logo
    Listen to the Syntax Podcast

    Tasty treats for web developers brought to you by Sentry. Get tips and tricks from Wes Bos and Scott Tolinski.

    SEE EPISODES

Considered “not bad” by 4 million developers and more than 100,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.

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