1

一段时间以来,我一直在寻找解决滑动历史窗口问题的方法。问题如下:我有一个包含许多提交的 DNS 存储库,但我只希望名称服务器上存在一定数量的提交。没有必要在实时机器上拥有完整的提交历史,所以为什么要在那里。我创建了一个深度为 5(提交 ABCDE)的浅克隆。我需要更新 DNS,并且有一些提交感觉初始克隆(提交 FGH)。更新过程完成后,我希望克隆到只有 5 个以前的提交 (DEFGH)。即使在获取/合并或拉取之后,克隆仍然需要能够获取/合并或拉取额外的提交。

我知道通过分支和变基可以实现这样的目标,例如将 git 存储库转换为浅层?但是,我一直无法使其与上游存储库兼容以供将来合并。据我了解,它创建了一个无法与用作“已发布”版本的实际分支合并的分叉分支,因此,它不能与任何未来的提交一起使用。给出的替代解决方案也不起作用,因为它会导致修剪错误。

这个问题是浅克隆维护脚本的最后一个组件。脚本的基本功能将撤消任何本地更改,清理任何未忽略的未跟踪文件,然后测试是否有更新到 repo(通过 fetch)。如果上游存储库有更新,那么它将应用(通过拉取)它们并像初始示例中一样向前“移动”提交窗口。

我错过了什么?是否甚至可以不必删除现有的克隆并重新克隆?

4

0 回答 0