如何列出`git`中特定修订版的文件?

Eon*_*nil 25 git revision file list

我想知道git存储库中特定版本的文件列表.我怎样才能做到这一点?

小智 21

git ls-tree -r --name-only $REV
Run Code Online (Sandbox Code Playgroud)

例如

git ls-tree -r --name-only a27689bf7f46dc0735c5b3b6076010c87224063e
Run Code Online (Sandbox Code Playgroud)


Edw*_*ang 15

请参阅dannyp的回答.

 git ls-tree -r --name-only $REV
Run Code Online (Sandbox Code Playgroud)

  • 这是错的.`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`来检查树状对象(树,提交,标签)的内容. (3认同)