在一个Git哈希标签处进行浅克隆

3
我想对一个大的代码库进行浅克隆以减少下载时间。在这种情况下,我不需要任何历史记录或 git 元数据。我只需要特定提交哈希值的代码库中的文件。使用 --depth 1 --branch <name> 可以克隆分支或标签的最新版本,但是无法克隆特定提交哈希值。我看到有一种解决方法,即使用 --depth 50 进行克隆,然后在所需的提交哈希值上执行 git checkout。所需的提交哈希值始终在距离头部 50 以内,但在我的情况下,无法保证距离的固定,否则就会失去浅克隆的目的。是否有其他方法或我错过了某个配置选项?

我有同样的问题,还没有看到明确的解决方案。有更新吗? - eudoxos
1个回答

0
我会退后并审视我的开发过程。令人不安的是,depth=50并不能让你到达所需的提交。这听起来像是需要一些重构来分离需要修改的功能的代码。回溯51个或以上的提交听起来像是一个等待发生噩梦合并的场景(除非你的用例不允许合并你的更改,否则又是一个打破和重构的方案)。

这不是用于编辑代码的。这只是为了在某个时间点获取当前树的快照。--depth=50示例来自travis-ci构建服务器。他们可以假设当触发构建时,要测试的哈希标签将靠近分支的顶端。使用深度>1将需要避免竞争条件。在我的情况下,我宁愿不依赖硬编码的距离。 - Frank Hunleth

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接