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

2024-04-15

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

目前我这样做:

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

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

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


要解析的 Onelinergit whatchanged输出和打印树用最近的提交 ID 注释:

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

输出示例:

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根据需要参数和/或过滤输出。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 如何列出 Git 1.7+ 中的所有远程分支?

    我试过了git branch r 但这仅列出我在本地跟踪的远程分支 如何找到我没有的列表 命令是否列出对我来说并不重要all远程分支或仅那些未跟踪的分支 For the vast majority 1 of visitors here th
  • 使用 GIT 自动增加 AssemblyFileVersion

    好吧 我知道这可能不是传统的 但除此之外 我使用 AssemblyFileVersion 作为我的 构建名称 字符串 它的格式如下 File Version information for an assembly consists of t
  • 是否存在比 SVN 更快的集中版本控制?

    我已经使用 SVN 很长时间了 现在我们正在尝试使用 Git 我在这里谈论的不是中心化 去中心化的争论 我唯一关心的是速度 后一个工具要快得多 但有时 我需要使用一种集中式方法 这种方法比分散式方法更简单 更简单 学习曲线非常快 这节省了大
  • 如何预览 Git 中的隐藏内容?

    我想检查一个存储 并找出如果我将其应用于当前状态的工作树 它会发生什么变化 我知道我可以对存储进行 git diff 但这向我展示了工作树和存储之间的所有差异 而我只是想知道存储应用将改变什么 git stash show将向您显示最近存储
  • 我可以通过链接分享我的私人 GitHub 存储库吗?

    我在 GitHub 上的私人存储库中有一个 Java 应用程序 我想与没有帐户的人共享它 我在网站上没有找到任何与此相关的选项 有没有办法做到这一点 协作者只能是 GitHub 用户 无法在非 Github 用户之间共享私有存储库 您需要
  • Git:如何使外部存储库和嵌入式存储库作为通用/独立存储库工作?

    我有一个大项目 比方说A repo 其中有一个子文件夹来自B repo 当我提交时 我会遇到如下警告A repo warning adding embedded git repository extractor annotator serv
  • 为什么cherry-pick总是会导致合并冲突?

    我正在从发布分支中挑选特定的提交到我的本地工作副本中 每次我从发布分支中挑选一个提交时 我都会遇到必须解决的合并冲突 即使更改看起来微不足道 例如 const char kApplicationVersion Develop const c
  • 在 git repo 中查找超过 x MB 且 HEAD 中不存在的文件

    我有一个 Git 存储库 用于存储随机的内容 主要是随机脚本 文本文件 我设计的网站等 随着时间的推移 我删除了一些大型二进制文件 通常为 1 5MB 这些文件会增加存储库的大小 而我在修订历史记录中不需要这些文件 基本上我希望能够做到 m
  • 如何使用 .gitattributes 避免在 git root 中包含文件夹,但在 zip 的 dist 文件夹中包含同名文件夹

    我有一个名为lib在存储库的根目录和另一个名为lib在 dist 文件夹中 我正在尝试使用 gitattributes文件排除除 dist 之外的所有文件夹和文件 以便任何下载为 zip 或 tarball 的人都只会 git 分发文件 我
  • git 可以与 Xcode 集成吗?

    有没有办法将 git 存储库与 Xcode 内置的 SCM 功能一起使用 Xcode 4 原生支持 git WWDC 2010 上的开发者工具国情咨文演讲 在这里了解更多 Xcode 4 中的新增功能 http developer appl
  • 相当于“svn update -r”的 git 是什么?

    我是最近的 git 转换者 能够使用 git svn 将我的分支保留在本地而不干扰 svn 服务器真是太棒了 最新版本的代码中存在一个错误 我想确定一个它起作用的时间 以便我可以使用 git bisect 我找不到正确的命令来及时返回 谢谢
  • 忽略 git 中的本地配置文件

    Rails 应用程序中有一些本地文件 属于我们存储库的一部分 我希望 git 忽略它们 基本上 我希望 git 忽略我对 config environments 目录和 config application rb 文件中的任何内容所做的所有
  • Jenkins git 插件 - 有时太慢

    以下内容摘自 Jenkins 日志 00 00 03 135 gt git fetch tags progress email protected cdn cgi l email protection some org some repo
  • SSH 到 Openshift 服务器失败

    我正在 openshift 服务器上使用 jboss catridge 我希望与其他人共享此实例并添加其他用户的公钥 id rsa pub 当其他人尝试访问该实例时 他会收到以下错误 我在他的实例中尝试了同样的方法 但看到了同样的错误 与
  • IntelliJ:查看本地和 git 提交/分支之间所有已更改文件的差异

    使用 IntelliJ 的 diff 查看器是检查代码的一种非常好的方法 因为您可以使用 IntelliJ 代码编辑器的所有功能 重构 完成等 在本地版本中进行更改 不幸的是 我还没有弄清楚当你在 IntelliJ 中进行代码审查时如何做最
  • 如何从 android.googlesource.com 或 github.com 下载单个目录?

    我想下载 https android googlesource com platform frameworks base git master tools aapt https android googlesource com platfo
  • 有谁知道类似于 SVN Time-Lapse View 的 Git 工具 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 SVN Time Lapse View 是一个跨平台查看器 可以下载文件的所有修订版本 并允许您通过拖
  • 为什么我无法创建/签出该分支?

    我正在尝试创建本地 Git 分支 但它不起作用 以下是我正在使用的命令 tablet edit11 git checkout b edit 11 Switched to a new branch edit 11 tablet edit11
  • git Push over sshfs 失败,并显示“关闭 sha1 文件时出错:错误的文件描述符”

    我们使用 sshfs 通过 SSH 安装文件系统 并将其用作 git 存储库协作的远程存储 Mac OSX 10 6 6 到 RHEL 3 服务器 SSHFS 版本 2 2 MacFUSE SSHFS 2 2 0 MacFUSE 库版本 F
  • 自动将所有 GitHub 存储库镜像到 gitlab

    对于 GitLab 必须手动为每个存储库设置拉 推镜像 我想知道那里有any way可以自动将所有 Github 存储库同步到 GitLab 这样 当您在 GitHub 中创建新的存储库时 GitLab 中的存储库将自动创建 并充当拉取镜像

随机推荐

  • 像 MySQL 一样从 Firebase 检索计数数据

    当尝试从 MySQL 数据库中提取数据时 我可以执行以下操作 SELECT FROM users ORDER BY id WHERE vehicle car 例如 这应该让我获得所有驾驶汽车的用户 而不是显示驾驶摩托车的用户 Firebas
  • 表单:避免将非提交字段设置为 null

    我有一个简单的模型 源简化 class Collection public page public limit 以及表单类型 class CollectionType extends AbstractType public function
  • 调用类指针上的方法[重复]

    这个问题在这里已经有答案了 并不是说我有问题 而是我发现以下事实很奇怪 Class Shape class Shape protected int width height public Shape int a 0 int b 0 widt
  • C# Begin/EndReceive - 如何读取大数据?

    当以 1024 字节为单位读取数据时 如何继续从接收大于 1024 字节的消息的套接字读取数据 直到没有剩余数据为止 我是否应该仅使用 BeginReceive 来读取数据包的长度前缀 然后在检索到该前缀后 使用 Receive 在异步线程
  • RxJS v5 中的速率限制和计数限制事件,但也允许传递

    我有很多事件要发送到服务 但请求有速率限制 每个请求都有计数限制 每秒 1 个请求 bufferTime 1000 每个请求 100 个活动项目 bufferCount 100 问题是 我不确定如何以有意义的方式将它们组合起来 允许通过 让
  • 在 wine (linux) 下运行的 Windows 应用程序的屏幕截图

    正如标题所说 我想截取wine下运行的窗口应用程序的屏幕截图 不是整个桌面 C 是首选 但也可以使用 java 或 Pascal 提前致谢 使用 imagemagick 的导入命令抓取窗口并将其转储到文件中 进口文件 http www im
  • 远程过程调用认证

    我正在使用远程过程调用 RPC 在本地计算机上通信数据 我的要求是使用 RPC 在两个处理之间通信数据 但服务器应该通过某种方式对客户端进行身份验证 我遇到了 RpcBindingSetAuthInfo 它设置身份验证和授权信息 第四个参数
  • 如何获取类属性的名称?

    无论如何我可以获得类属性的名称IntProperty public class ClassName public static int IntProperty get return 0 something like below but I
  • 在Python中按多个值对列表列表进行排序

    我需要对列表列表进行排序 其中每个列表entry外部列表是一个由三个整数组成的列表 如下所示 3 1 0 1 2 3 3 2 0 3 1 1 诀窍是我需要对其进行排序entry 0 如果有平局 则按以下顺序对它们进行排序entry 1 如果
  • OSX - 始终隐藏某些文件

    我知道如何在终端中显示和隐藏隐藏文件 但是有没有办法在显示隐藏文件时隐藏某些文件 例如 DS STORE 可以这么说 使某些文件超级隐藏吗 Use chflags与隐藏选项 ie chflags hidden fileToHide从 Fin
  • XMI 2.1.1 的 XSD

    我必须使用 JAXB 解析 XMI 文件 xmi 版本 2 1 1 为此 我必须生成与 XMI 文件相对应的 Java 类 因此 我需要 xmi 文件的 shema 定义才能使用 jxc 工具执行此操作 我希望有人知道在哪里可以找到这个文件
  • `AVCaptureVideoDataOutput` 消耗的内存是 `AVCaptureMovieFileOutput` 的三倍

    Issue 我正在使用 AVFoundation 来实现一个相机 它能够在运行特殊的人工智能处理时录制视频 拥有一个AVCaptureMovieFileOutput 用于视频录制 and a AVCaptureVideoDataOutput
  • 当由不同模块导入时,如何访问 Python 2.7 中的相对路径

    目标 使用从各种 python 模块调用的通用实用程序函数时访问 写入相同的临时文件 背景 我正在使用 python Unittest 模块来运行一组自定义测试 这些测试通过 pySerial 与仪器接口 因为我使用的是unittest模块
  • AudioConverterNew 返回 -50

    我有一个关于使用 AudioQueue 服务的小问题 我已按照 Apple 网站上提供的指南进行操作 但是当我启动并运行音频队列时 我收到消息告诉我 AudioConverterNew 返回 50 现在 我知道 50 错误代码意味着存在错误
  • node.js可以导入java库吗

    我有一个 Nodejs 应用程序 它有一些昂贵的计算 我正在考虑用 java 来完成这部分 这样我就可以更轻松地利用线程和数学库 有没有一种简单的方法可以让nodejs与外部java库对话 java 库将包含一个频繁调用 javascrip
  • Hive 分区表上的 Spark 行为

    我用的是 Spark 2 实际上我不是执行查询的人 所以我不能包含查询计划 数据科学团队问过我这个问题 我们将 Hive 表划分为 2000 个分区并以 parquet 格式存储 当在 Spark 中使用相应的表时 执行器之间恰好执行了 2
  • 如何查找没有自己登录名的 sqlserver 域用户的登录名、数据库用户名或角色?

    我创建了一个名为 MYDOMAIN Domain Users 的登录名和数据库用户 我需要找到登录的域用户具有哪些角色 但所有获取当前用户的调用都返回域用户名 例如 MYDOMAIN username 不是数据库用户名 例如 MYDOMAI
  • Thymeleaf 中链接绝对 URL 时 th:href 和 href 之间的区别

    就在 Thymeleaf 的开头文档 http www thymeleaf org doc articles standardurlsyntax html关于标准url语法有两个例子 但没有说明它们之间的区别 a a href http w
  • 比特率 JWplayer

    我无法让 jwplayer 以不同的比特率工作 对于每个视频 我都会创建具有不同后缀且比特率较低的新输出文件 例如 输出1 高比特率 test original mp4 输出 2 中等比特率 test medium mp4 输出 2 低比特
  • 如何列出 Git 存储库中的目录以及每个目录条目的最新提交信息?

    我想列出 Git 存储库中的目录以及每个目录条目的最新提交信息 类似于 GitHub 如何显示目录或 viewvc 如何显示 SVN CVS 存储库中的目录 目前我这样做 获取目录条目git ls tree master并从输出中解析目录结