回答

收藏

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

技术问答 技术问答 470 人阅读 | 0 人回复 | 2023-09-11

我正在寻找一个简单的 Git 命令提供了哈希  (SHA-1) 提交的部分没有多余的信息。
; H4 }* `/ R# P0 L$ {5 C- p我努力了:
& Y! ?: I7 J. U; _/ Lgit show a303aa90779efdd2f6b9d90693e2cbbbe4613c1d虽然列出了文件,但它还包含了每个文件不必要的差异信息。7 X/ W  \/ r$ ]6 R* ~2 G8 X! e
还有别的吗?git命令只提供我想要的列表,这样我就可以避免git show输出分析它?
9 K+ R. g! A' h( l3 \  J                                                               
1 t* v4 @/ r6 n$ V    解决方案:                                                               
/ J+ u- ^' \* n' D6 f+ h9 Z0 N  B                                                                首选方式(因为是一个管道命令;意味着程序化):
) J) R1 @' a$ o+ l5 O2 c! }" V2 O( C- X$ git diff-tree --no-commit-id --name-only -r bd61ad98index.htmljavascript/application.jsjavascript/ie6.js另一种方式(我不太喜欢脚本,因为它是一个瓷器命令;面向用户)/ [- B; r. ~0 M
$ git show --pretty="" --name-only bd61ad98    index.htmljavascript/application.jsjavascript/ie6.js--no-commit-id抑制提交 ID 输出。8 y1 D" a; _$ I- l- G* v
该--pretty参数指定空格式字符串,避免开头杂乱无章。
/ J' g) K9 T7 ^9 u0 b) h该--name-only参数仅显示受影响的文件名(谢谢 Hank)。--name-status如果您想查看每个文件发生了什么,请更改它(删除修改添加
4 ~; x" A0 Y- D0 S-r参数是递归到子树
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则