在本地克隆的 Git 存储库中,我可以使用以下命令查看历史记录: git log 在一个小工具中,我只需要知道一个仓库的历史记录,而不需要代码。 有没有一种方法可以克隆一个仓库但只获取历史记录(不包括代码)?还有其他方法可以从Git仓库中仅获取历史记录吗?
使用--bare标志克隆代码库:git clone --bare ... Git中的"裸"存储库仅包含版本控制信息,没有工作文件(没有树形目录结构),也不包含特殊的.git子目录。相反,它直接包含了.git子目录的所有内容在主目录中。有关更多信息,请参阅文档,或者这个关于使用该选项设置服务器环境的有用页面。
在克隆时结合--bare和--filter=blob:none选项可以获得完整的日志,同时省略对象,从而最小化提交历史记录所占用的空间: git clone --bare --filter=blob:none ...
如果您只想查看历史记录,可以使用部分克隆功能,并过滤掉blob(文件内容)。 git clone --filter=blob:none YOUR_GIT_URL 参考资料: git clone --filter Get up to speed with partial clone and shallow clone
--bare
标志几乎会产生相同数量的网络流量。实际上,不需要对象来获取历史记录。 - Andrygit log --name-only
会列出文件名)。如果没有破坏文件系统数据库甚至可能没有内置的方法来抑制内容对象。您可以尝试使用--reference
或其他高级选项来减少网络流量,但最好的选择可能是使用带有 Web UI 的 Git 服务器(可以是 GitHub),这样您可以查看历史记录而无需将任何内容克隆到本地计算机上。 - CodeManX