【问题标题】:Shallow clone at a git hash tag在 git 哈希标签处进行浅克隆
【发布时间】:2014-03-21 14:59:14
【问题描述】:

我想对大型存储库进行浅层克隆以减少下载时间。对于这个用例,我实际上不需要任何历史记录或 git 元数据。我只需要存储库中特定提交主题标签的文件。使用--depth 1 --branch <name> 适用于分支或标签的尖端,但不允许使用原始提交主题标签。我看到了一种解决方法,其中使用--depth 50 进行克隆,然后在所需的主题标签处添加git checkout。所需的主题标签始终在距离提示 50 以内,但在我的用例中,我不能保证任何固定距离而不违背浅克隆的目的。是否有其他方法可以执行此操作或我错过了配置选项?

【问题讨论】:

  • 我有同样的问题,还没有看到一个明确的解决方案。有更新吗?

标签: git git-clone


【解决方案1】:

我会退后一步,看看我的开发过程。令人不安的是, depth=50 并没有让您获得所需的提交。这听起来像是需要一些重构才能分解出您需要修改的功能的代码。 51+ 次提交听起来像是一场等待发生的噩梦合并(除非您的用例排除了合并您的更改,这听起来又像是一个拆分和重构的场景)。

【讨论】:

  • 这不是用来编辑代码的。这只是为了在某个时间点获取当前树的快照。 --depth=50 示例来自 travis-ci 构建服务器。他们可以假设,当触发构建时,要测试的主题标签将靠近分支的尖端。需要使用大于 1 的深度来避免竞争条件。就我而言,我宁愿不依赖硬编码的距离。
猜你喜欢
  • 1970-01-01
  • 2012-07-13
  • 1970-01-01
  • 2017-09-17
  • 2017-04-25
  • 1970-01-01
  • 2011-02-07
  • 2020-06-26
相关资源
最近更新 更多