如何在`git`中列出特定版本的文件?

32
我想知道如何在 Git 代码库中获取特定版本的文件列表。我该怎么做?
2个回答

29
git ls-tree -r --name-only $REV

例如

git ls-tree -r --name-only a27689bf7f46dc0735c5b3b6076010c87224063e

19

请查看dannyp的答案。

 git ls-tree -r --name-only $REV

3
这是错误的。ls-files --with-tree 将产生一个列表,其中包含索引或指定树对象中的所有路径名。例如:假设 newfile 目前没有被跟踪。 touch newfile && git add newfile && git commit -mnewfile && git ls-tree --with-tree=HEAD~ 将显示 newfile,即使它不在 HEAD~ 中。 ls-files 真正关注的是索引和工作树。使用 ls-tree 检查树对象(树、提交、标签)的内容。 - Chris Johnsen
1
唉,原问题提问者已经批准了这个答案。那么,没有必要让错误的信息留存下来。 - Edward Z. Yang
@Chris 或许这就是我想要的 :) - eonil
1
我建议将批准的答案更改为其他的。干杯! - Edward Z. Yang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接