如何打印属于给定提交的所有文件的简单列表?
虽然下面列出了文件,但它还包含每个文件不需要的差异信息:
git show a303aa90779efdd2f6b9d90693e2cbbbe4613c1d
最佳答案
首选方式(因为它是一个plumbing 命令;意味着是程序化的):
$ git diff-tree --no-commit-id --name-only -r bd61ad98
index.html
javascript/application.js
javascript/ie6.js
另一种方式(不太适合脚本,因为它是一个瓷器命令;意味着面向用户)
$ git show --pretty="" --name-only bd61ad98
index.html
javascript/application.js
javascript/ie6.js
--no-commit-id
禁止提交 ID 输出。--pretty
参数指定一个空的格式字符串,以避免开头出现乱码。--name-only
参数仅显示受影响的文件名(感谢 Hank)。如果您想查看每个文件发生了什么(D删除、M修改、A,请改用--name-status
添加)-r
参数是递归到子树
关于git - 如何列出提交中的所有文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/424071/