推出最小的repo,并在浅层克隆上使用git子树问题

时间:2015-11-24 20:19:43

标签: git deployment jenkins

我正在尝试使用git subtree pull --squash将另一个repo合并为我的存储库中的子目录,名为 docroot 。这是在Jenkins工作区中发生的,我正在尝试使用我的repo的浅层克隆,因为它被推送到远程仓库以运行应用程序。当克隆有完整的历史时它很大,所以我试图在推出时尽可能地保持它。当我尝试在我的存储库的浅层克隆上发布git subtree pull时(使用git clone --depth=1克隆),我收到此错误:

  

无法压缩合并:'docroot'从未添加过。

如果我不使用--squash它会运行,但是存在需要解决的冲突,这对于必须经常运行的CI作业没有好处。我的目标是推出最小的repo以节省磁盘空间。将推出此应用程序的多个实例,因此我希望尽可能小。我还将考虑使回购更小,但我看到的最大尺寸减小可能是通过使用浅克隆。也许有更好的方法来解决这个问题?提前谢谢。

1 个答案:

答案 0 :(得分:0)

我建议使用其他存储库docroot作为原始存储库中的git submodule来解决此问题。这假设repo docroot是独立的,并且不与父存储库共享任何代码。

这样,您可以拥有父回购的浅层克隆,并且不应该与正在检出的完整docroot发生任何冲突。