Preferred Way (because it’s a plumbing command; meant to be programmatic):
$ 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)
$ git show --pretty="" --name-only bd61ad98
index.html
javascript/application.js
javascript/ie6.js
- The
--no-commit-idsuppresses the commit ID output. - The
--prettyargument specifies an empty format string to avoid the cruft at the beginning. - The
--name-onlyargument shows only the file names that were affected (Thanks Hank). Use--name-statusinstead, if you want to see what happened to each file (Deleted, Modified, Added) - The
-rargument is to recurse into sub-trees