给出一个包含数百万次提交的仓库 all-history.git ,一个仓库如何创建并维护第二个轻量级仓库 last-of-history.git 强>开发人员在日常操作中使用的?这两个仓库都将由开发人员执行所有最近的活动(commits / branches / tags / etc),但是轻量级仓库仅包含该活动的最后一年。
我想出了一种方法,该方法可以截断 last-of-history.git 中的提交并删除旧的标记和分支,但是我用来推动开发人员对进行更改的过程> last-year-history.git 到 all-history.git 正在推动截断的提交并破坏文件历史记录,从而呈现 all-history.git < / strong>没用。
答案 0 :(得分:1)
除非出于某些原因您没有声明要这样做,否则更好的解决方案是使用浅表克隆。
开发人员(和您的CI流程)可以执行浅表克隆,并根据需要撤回尽可能多的历史记录,然后正常地对存储库进行操作。
他们可以克隆
--depth 10
仅克隆仓库中的最后10个提交
或者,他们可以使用
--shallow-since=<date>
这似乎与您现在正在做的事情更加一致:他们可以克隆从给定日期开始的所有提交。