## [How to list all the files in a commit?](https://stackoverflow.com/questions/424071/how-to-list-all-the-files-in-a-commit)
I am looking for a simple git command that provides a nicely formatted list of all files that were part of the commit given by a hash (SHA1), with no extraneous information.
------
**Preferred Way for Scripts** (because it's a plumbing command; meant to be programmatic):
```bash
$ git diff-tree --no-commit-id --name-only -r bd61ad98
index.html
javascript/application.js
javascript/ie6.js
```
**Another Way** (less preferred for scripts, because it's a porcelain command; meant to be user-facing)
```bash
$ git show --pretty="" --name-status bd61ad98
index.html
javascript/application.js
javascript/ie6.js
```
The --no-commit-id suppresses the commit ID output.
The --pretty argument specifies an empty format string to avoid the cruft at the beginning.
The --name-only argument shows only the file names that were affected (Thanks Hank).
The --name-status argument is like name-only with a teeny bit of additional info
The -r argument is to recurse into sub-trees