小编典典

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

javascript

我正在寻找一个简单的 Git 命令,它提供了一个格式良好的所有文件列表,这些文件是由哈希 (SHA-1) 给出的提交的一部分,没有多余的信息。

我努力了:

git show a303aa90779efdd2f6b9d90693e2cbbbe4613c1d

尽管它列出了文件,但它还包含每个文件的不需要的差异信息。

是否有另一个git命令只提供我想要的列表,这样我就可以避免从git show输出中解析它?


阅读 277

收藏
2022-01-18

共1个答案

小编典典

首选方式(因为它是一个管道命令;意味着程序化):

$ 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)。--name-status如果您想查看每个文件发生了什么,请改用(删除修改添加
  • -r参数是递归到子树
2022-01-18