git 无对象克隆 git 日志

git clone without objects to do git log

如何在不获取实际文件及其所有修订增量的情况下克隆 git 存储库? 我只想能够 git log | grep,不需要访问文件的内容。

我想跳过克隆的这一部分:

Receiving objects:  12% (359112/2981072), 432.66 MiB | 1.67 MiB/s

有些存储库的日志我想 grep,但没有 downloading/checking 整个存储库,因为它们有千兆字节。如果有帮助,即使是我只获得单个分支日志(例如 master)的解决方案也让我感兴趣。


基本上我正在为 git.

寻找类似 svn log <repo url> 的东西

我认为这是不可能的。 你最多可以做一个浅克隆,只得到 X 提交的历史,但对于他们来说,对象仍然会被下载。 唯一可以帮助您的是 --single-branch 选项,它只下载一个分支而不是所有分支的历史记录。

Partial clone 现在可以在 git 的更新版本中使用:

git clone --filter=blob:none --no-checkout git@github.com:foo/bar.git