首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何列出Git存储库中的目录以及每个目录条目的最新提交信息?

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

Stack Overflow用户
提问于 2011-05-21 16:56:34
回答 3查看 6.5K关注 0票数 12

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

目前我这样做:

  1. 获取带有git ls-tree master的目录条目,并从输出中解析目录结构。
  2. 然后对每个目录条目执行以下操作:git log -n 1 master -- filename并解析其中的提交信息(我指定了一个特殊的格式字符串,以使这更容易,但这与我的问题无关)。

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

EN

回答 3

Stack Overflow用户

发布于 2011-07-17 02:15:03

Oneliner解析git whatchanged输出和打印树,并使用最近的提交ids进行注释:

代码语言:javascript
复制
git whatchanged -r --pretty=oneline | perl -ne 'our %q; if (/^([0-9a-f]{40})/) {$c = $1} if (/:.{38}(.*)/) { $q{$1} = $c unless exists $q{$1} }; END { print map {"$q{$_} $_\n"} (keys %q); }'  | sort -k 2

示例输出:

代码语言:javascript
复制
b32f7f65f19e547712388d2b22ea8d5355702ce2 code/unfreezemodule/file.c
b32f7f65f19e547712388d2b22ea8d5355702ce2 code/unfreezemodule/Makefile
b32f7f65f19e547712388d2b22ea8d5355702ce2 code/unfreezemodule/unfreezemodule.c
efeda0a22e4d1d5f3d755fee5b72fa99c0046e38 code/unfreezer/.gitignore
b822361ffbc4548d918df5381ce94c296459598a code/unfreezer/unfreezer.c
18ed76836182eba702e89b929eff2c0ea78ffb3e code/whole/wh
1e111ce4e8c0813b397f34e3634309f7594cb864 code/xbmctest/.gitignore
cb67943c4c18e3461267a34935fc8efaca5e2166 .config/awesome/awesome.lua
d5e2b7c1d24bed1d0b53338f43747dc856c9cfe4 .config/awesome/rc.lua
13ca8dbcd7f1ec684a7eba494442ee743ed577c0 cr
566b54fb72e32947fcbf7d5c58fed78b5abe976d d
392ac1a2456e8a29b2ebb7af9499c3f69d24a559 Desktop/CityInfo.desktop
392ac1a2456e8a29b2ebb7af9499c3f69d24a559 Desktop/.directory

您可以根据需要调整git whatchanged参数和/或筛选输出。

票数 4
EN

Stack Overflow用户

发布于 2011-05-21 17:11:50

您也许可以解析git whatchanged master,在历史上继续倒退,直到您“看到”了所有文件路径?

根据您的历史记录和一些文件的时间长短,这可能会更快。

票数 0
EN

Stack Overflow用户

发布于 2011-05-21 20:13:09

您可以请求git log -n 1 <file|directoryname>。因此,您可以在非递归模式下解析git-ls-树,并且只需要在您所处的级别上对每个文件/目录运行它。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6083166

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档