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

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

我在找一个简单的git命令,该命令提供由散列(SHA 1)提供的所有提交文件的格式良好的列表,不包含任何无关信息。

我试过:

git show a303aa90779efdd2f6b9d90693e2cbbbe4613c1d

虽然它列出了文件,但它也包含了每个文件的不需要的差异信息。

还有其他的吗?git命令,它只提供我想要的列表,这样我就可以避免从git show输出?


暮色呼如
浏览 817回答 3
3回答

一只甜甜圈

优选方式(因为这是管道命令;意味着是编程式的):$ 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参数指定一个空格式字符串,以避免在开始时使用CRUFT。这个--name-only参数只显示受影响的文件名(谢谢汉克)。这个-r参数是将子树恢复为子树。

慕田峪4524236

如果您想获得已更改的文件列表:git&nbsp;diff-tree&nbsp;--no-commit-id&nbsp;--name-only&nbsp;-r&nbsp;<commit-ish>如果要获取提交中所有文件的列表,可以使用git&nbsp;ls-tree&nbsp;--name-only&nbsp;-r&nbsp;<commit-ish>
打开App,查看更多内容
随时随地看视频慕课网APP