gpt4 book ai didi

没有 blob 的 Git 克隆裸仓库

转载 作者:太空狗 更新时间:2023-10-29 14:43:45 25 4
gpt4 key购买 nike

在我的 git 存储库中,我使用一种算法根据分支名称和标签为每个提交分配一个或多个唯一版本号。我想将此机制与另一个大型存储库一起使用,我想在不传输任何文件的情况下进行克隆。

裸克隆帮助我摆脱了 blob 的工作副本,但它仍然从服务器下载它们。使用 --depth 1 的浅克隆会跳过大多数 blob,但也会跳过下载除一个提交之外的所有提交的元数据。

是否有类似 git fast-export --no-data 的东西,我可以在客户端使用它来获取包含提交元数据和文件名的图形信息,而无需从我的服务器克隆存储库第一的?理想情况下,我将能够像通过 git log|show|rev-parse|show-ref 访问任何其他(裸、浅)存储库一样访问元数据。

(我知道 git LFS 和 git Annex 存在并且可以帮助减少一些存储库的大小,但我不能在不更改现有存储库的情况下使用它们。)

最佳答案

一段时间后的另一个想法:截至 2017 年,pack-protocol 现在允许 partial clones , 和 there is a --filter=blob:none available省略了所有 blob——这在服务器端应该足够了。

鉴于当前的服务器端实现,遗憾的是,这并不像人们希望的那样有效:

C:\Users\phi1010>git clone https://github.com/torvalds/linux.git --filter=blob:none
Cloning into 'linux'...
warning: filtering not recognized by server, ignoring
remote: Enumerating objects: 6876195, done.
[...]

Github 甚至宣布了 support of the v2 protocol and its filtering capabilities , 但这与 -c protocol.version=2 都不起作用,正如 Do GitHub and GitLab support git clone's --filter parameter? 中所述

关于没有 blob 的 Git 克隆裸仓库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41232037/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com