git - 如何列出提交中的所有文件?

标签 git git-show

如何打印属于给定提交的所有文件的简单列表?

虽然下面列出了文件,但它还包含每个文件不需要的差异信息:

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/

相关文章:

Git 显示整个文件的变化

git - 如何在 git 1.8 中关闭本地化

git - 将 git 提交存储到文本文件

git - 未出现在任何分支中但在 "git show"中可用的提交发生了什么

git - diff 和 show 的不同 git pager 选项

git - 如何查看裸仓库中的文件?

linux - git 以交互方式一步添加和 checkout ?

git - 暂时从 Git 分支中删除功能

git - rebase - 如果 rerere 解决了所有冲突,则自动继续

git - 使用 `git show` 创建和应用跨越多个提交的补丁