首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Git克隆无斑点裸回购

Git克隆无斑点裸回购
EN

Stack Overflow用户
提问于 2016-12-19 22:30:44
回答 2查看 2.5K关注 0票数 6

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

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

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

(我知道git LFS和git附件是存在的,可以帮助减少一些repos的大小,但我不能在现有的存储库上使用它们而不更改它们。)

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-20 05:22:32

我能在客户端使用像git这样的快速导出--无数据吗?

否:除了git ls-remote (它只为远程回购的负责人获取元数据)之外,其他任何东西都将获得完整的回购历史记录。

您需要由Git托管服务(如GitHub )管理回购,提供API (如提交API),以便在没有数据的情况下查询元数据。

票数 3
EN

Stack Overflow用户

发布于 2019-09-11 20:51:09

一段时间后,这方面的另一个想法是:从2017年起,pack协议现在允许部分克隆可用忽略所有的空白--这在服务器端应该足够了。

考虑到当前的服务器端实现,遗憾的是,这并不像人们希望的那样好:

代码语言:javascript
运行
复制
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甚至宣布了对v2协议及其过滤功能的支持,但这既不适用于-c protocol.version=2,也不适用于GitHub和GitLab支持git克隆的过滤参数吗?

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41232037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档