Git 部分克隆:如何禁用动态对象获取?

Git partial clone: how to disable dynamic object fetching?

我已经调用了 Git 部分克隆 来克隆没有任何 blob 的存储库:

git clone --filter=blob:none https://server/repo.git

现在我想用这个存储库进行试验,看看哪些操作可以在本地进行,而无需 Git 从 promisor 远程动态获取丢失的对象。是否有一些 Git 配置选项来禁用动态获取,而不是让我 运行 进入“丢失对象”错误?

我会移除遥控器。通过从 .git/config 文件或 运行 git remote remove origin.

中删除遥控器

partial clones 的支持仍在进行中,因此将来可能会有更好的解决方案。

截至目前,Git 只会从 promisor 远程获取丢失的对象。来自 documentation:

Dynamic object fetching will only ask promisor remotes for missing objects. We assume that promisor remotes have a complete view of the repository and can satisfy all such requests.

这被列为限制,因此将来很可能会发生变化。但是,从现在开始,您可以通过简单地告诉 Git origin 遥控器不是承诺者来利用它:

git config remote.origin.promisor false