2014-11-05 37 views
0

我会认为这是一个相对直接的请求,但似乎并不是这样。对于我的存储库中的给定目录,我需要显示该目录中的文件列表(包括目录)。除了每个文件,我还需要显示其他信息 - 例如该文件最后提交的日期时间。这是一个简单的存储库查看器 - 比较。 github上。Git:存储库目录的内容与文件信息

回答

1

我不知道有任何这样做的瓷器级命令。 (请让我知道另一个答案,如果有的话,我会删除这个)如果我正确理解你,你想要做什么类似git annotate的内部工作,只能在文件路径级别在一行文件中。

核心逻辑在脚本中不太难重现。

或者你可以作弊,只是从git log提取信息。唯一的窍门是每个文件执行一次,否则它会合并提交。

for file in $(git ls-files); do 
    echo $(git log --format=%ad -- $file | head -1) $file 
done 
+0

是的,我正在寻找一种不使用n + 1 git命令的方法,因为这是痛苦而痛苦的缓慢。我开始认为我能做到这一点的唯一方法是缓存结果并通过git钩子更新缓存,这对于这样的基本需求来说似乎很疯狂;不过,也许这就是github,bitbucket等等的做法。 – 2014-11-05 16:48:11

+0

实际上,不计算git命令,您仍然要求在O(1)调用中不可用的信息。我有一个git diff-tree的分支草案,但这比git log慢得多。 – 2014-11-05 17:37:11

+0

感谢您关注此事。据推测,你的循环中的“git log -1 ...”会快一点吗? – 2014-11-06 10:00:20

相关问题