回答

收藏

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

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

我正在寻找一个简单的 Git 命令提供了哈希  (SHA-1) 提交的部分没有多余的信息。
+ I& ~2 ?6 R2 {" R: H我努力了:
  K6 H/ n8 D  w0 T! \git show a303aa90779efdd2f6b9d90693e2cbbbe4613c1d虽然列出了文件,但它还包含了每个文件不必要的差异信息。
& \5 b( ^6 m8 B还有别的吗?git命令只提供我想要的列表,这样我就可以避免git show输出分析它?- f) m1 H7 e& Z4 v
                                                                # D1 r: B: ?* p9 }8 F$ T9 m- M
    解决方案:                                                               
# k& ^9 ?- j# [0 t/ w% `5 r                                                                首选方式(因为是一个管道命令;意味着程序化):1 I, @8 F. D0 [4 W3 y
$ git diff-tree --no-commit-id --name-only -r bd61ad98index.htmljavascript/application.jsjavascript/ie6.js另一种方式(我不太喜欢脚本,因为它是一个瓷器命令;面向用户)3 q2 N" E  |& t' s
$ git show --pretty="" --name-only bd61ad98    index.htmljavascript/application.jsjavascript/ie6.js--no-commit-id抑制提交 ID 输出。6 D) k9 n5 L* X+ }5 q
该--pretty参数指定空格式字符串,避免开头杂乱无章。
" C1 @  G- Y; [( H该--name-only参数仅显示受影响的文件名(谢谢 Hank)。--name-status如果您想查看每个文件发生了什么,请更改它(删除修改添加
1 j8 Q: V- C5 Q/ k-r参数是递归到子树
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则