为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

Git
暮色呼如 2019-06-24 09:56:44
如何列出提交中的所有文件?我在找一个简单的git命令,该命令提供由散列(SHA 1)提供的所有提交文件的格式良好的列表,不包含任何无关信息。我试过:git show a303aa90779efdd2f6b9d90693e2cbbbe4613c1d虽然它列出了文件,但它也包含了每个文件的不需要的差异信息。还有其他的吗?git命令,它只提供我想要的列表,这样我就可以避免从git show输出?
查看完整描述

3 回答

?
一只甜甜圈

TA贡献1836条经验 获得超5个赞

优选方式(因为这是管道命令;意味着是编程式的):

$ 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

    参数是将子树恢复为子树。


查看完整回答
反对 回复 2019-06-24
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

如果您想获得已更改的文件列表:

git diff-tree --no-commit-id --name-only -r <commit-ish>

如果要获取提交中所有文件的列表,可以使用

git ls-tree --name-only -r <commit-ish>


查看完整回答
反对 回复 2019-06-24
  • 3 回答
  • 0 关注
  • 852 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信