克隆/仅读取git存储库的历史/日志

Boa*_*ler 13 git

在localy克隆的git存储库中,我可以观看历史记录

git log
Run Code Online (Sandbox Code Playgroud)

在一个小工具中,我只需要存储库的历史记录,而不是代码.有没有办法克隆没有代码的存储库(仅限历史记录)?

有没有其他方法只从git存储库获取历史记录.

提前致谢

CoD*_*anX 16

使用--bare标志克隆存储库:

git clone --bare ...
Run Code Online (Sandbox Code Playgroud)

一个"裸"仓库 Git中只包含版本控制信息,并没有工作文件(无树),它不包含特殊git的子目录.相反,它直接在主目录本身中包含.git子目录的所有内容.

阅读有关它的文档或有关使用该选项设置服务器环境的有用页面的更多信息.

  • 这不起作用,克隆仍然为我请求和接收对象。 (3认同)
  • @Andry OP 不要求节省网络流量。此外,提交信息存储在提交_objects_中,并使用树_objects_跟踪文件名(`git log --name-only`确实列出文件名)。我不知道是否有一种内置方法可以抑制内容对象,如果这甚至可以在不损坏文件系统数据库的情况下进行。您也许可以使用“--reference”或其他高级选项来减少网络流量,但最好的选择可能是使用带有 Web UI 的 Git 服务器(可以是 GitHub),它允许您查看历史记录,而无需将任何内容克隆到您的本地计算机。 (2认同)
  • @CoDEmanX 仅自动请求历史记录/日志意味着流量显着减少。不需要通过网络发送文件名或提交对象来查看一组带有时间戳或其他内容的提交日志条目。 (2认同)