如何在Git存储库中列出目录以及每个目录条目的最新提交信息?

kay*_*ahr 12 git

我想列出Git存储库中的目录以及每个目录条目的最新提交信息.类似于GitHub如何显示目录或者viewvc如何在SVN/CVS存储库中显示目录.

目前我这样做:

  1. 获取目录条目git ls-tree master并从输出中解析目录结构.

  2. 然后对于每个目录条目,我这样做:git log -n 1 master -- filename并解析它的提交信息(我指定一个特殊的格式字符串,以使这更容易,但这与我的问题无关).

很明显这很慢,因为我必须为每个文件调用Git.有更快的方法吗?也许我可以执行一个命令来获取我需要的所有数据?

Amb*_*ber 0

您也许可以解析git whatchanged master,继续向后追溯历史,直到您“看到”所有文件路径?

根据您的历史记录的长度和某些文件的年龄,这可能会更快。