Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git:包含文件信息的存储库目录的内容_Git - Fatal编程技术网

Git:包含文件信息的存储库目录的内容

Git:包含文件信息的存储库目录的内容,git,Git,我认为这是一个相对简单的请求,但似乎不是。对于存储库中的给定目录,我需要显示该目录中的文件(包括目录)列表。在每个文件旁边,我需要显示其他信息-例如,该文件上次提交的日期时间。这是针对一个简单的存储库查看器的-cf.github。我不知道有任何瓷器级别的命令可以做到这一点。(如果有,请在另一个答案中告诉我,我将删除此答案)如果我正确理解您的意思,您想要做的类似于git annotate的内部工作,仅在文件内路径级别,而不是行内路径级别 核心逻辑不难在脚本中重现 或者你可以作弊,从git日志中提取

我认为这是一个相对简单的请求,但似乎不是。对于存储库中的给定目录,我需要显示该目录中的文件(包括目录)列表。在每个文件旁边,我需要显示其他信息-例如,该文件上次提交的日期时间。这是针对一个简单的存储库查看器的-cf.github。

我不知道有任何瓷器级别的命令可以做到这一点。(如果有,请在另一个答案中告诉我,我将删除此答案)如果我正确理解您的意思,您想要做的类似于
git annotate
的内部工作,仅在文件内路径级别,而不是行内路径级别

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

或者你可以作弊,从git日志中提取信息。唯一的技巧是对每个文件执行一次,否则会合并提交

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

是的,我特别想寻找一种不执行n+1 git命令的方法,因为这样做非常缓慢。我开始认为我能做到这一点的唯一方法是缓存结果并通过git钩子更新缓存,这对于这样一个基本需求来说似乎很疯狂;也许github、bitbucket等就是这样做的。实际上,不算git命令,您仍然在请求O(1)调用中无法获得的信息。我有一个git diff-tree的草稿,在一个分支上,但这比git log要慢得多。感谢您的关注。大概循环中的“git log-1…”会快一点吧?就是这样!这就是我最初写这篇文章时在git日志帮助中找不到的选项!确实比烟斗好多了!