【问题标题】:How can I get a list of files in a git commit? [duplicate]如何获取 git commit 中的文件列表? [复制]
【发布时间】:2014-12-12 20:53:17
【问题描述】:

我在master 上提交了一些文件,并将一些本地分支与master 分支合并。如何获取master 分支上的已提交文件列表?

【问题讨论】:

  • 你说你已经提交了,你到底想做什么?
  • 如果我们暂存了一些文件,我们可以看到带有 git 状态的文件。如何查看已提交的文件?我需要像 git status 这样的命令来列出提交的文件。
  • 我不确定你的意思,也许git ls-files是你需要的。
  • 我想知道我在分支中提交的文件都是什么。
  • gitk 将显示所有提交和提交的所有文件的信息。你也可以做 git log

标签: git branch commit


【解决方案1】:

如何获取master 分支上已提交文件的列表?

git ls-tree 列出树对象的内容。默认情况下,它会列出树对象中引用的每个对象的权限、类型、哈希和关联文件名,但您可以使用--name-only 选项告诉它只打印文件名。

git ls-tree --name-only master

编辑(感谢 Alex):您可能还想使用 -r 标志递归到子树(即“嵌套”在提交的顶部树对象中的树对象)。

git ls-tree -r --name-only master

【讨论】:

  • 很可能你想添加 -r 进行递归
【解决方案2】:

我经常用

git ls-files

在给定的普通格式中,它只是打印出当前分支中提交的文件。 要查看不同分支的文件,请添加--with-tree 参数:

git ls-files --with-tree=master

列出master 分支的所有文件。

The docs of git ls-files 提供更多微调的可能性。

【讨论】:

    猜你喜欢
    • 2021-11-30
    • 2015-09-02
    • 1970-01-01
    • 2017-01-05
    • 2015-09-12
    • 1970-01-01
    • 2011-05-10
    • 2012-02-15
    • 1970-01-01
    相关资源
    最近更新 更多