Git 克隆/签出特定目录

Git 克隆/签出特定目录,git,Git,我知道sparseCheckout,但这仍然给我带来了问题 我有一个大约200GB大小的回购协议,有超过6万次提交。这意味着由于巨大的文件大小和漫长的历史记录,克隆它需要花费大量的时间 按照启动空repo然后添加远程源站的步骤,添加源站花费了20分钟,占用了超过10GB的磁盘空间 一定有更好的方法来做到这一点,不需要这么长时间,也不会占用我的磁盘空间 我所要做的就是压缩分支中的一些提交,以便我们的一个机器人在我可以合并之前批准提交(PR)(这就是为什么我不能通过GH压缩和合并) 有什么想法吗 注

我知道sparseCheckout,但这仍然给我带来了问题

我有一个大约200GB大小的回购协议,有超过6万次提交。这意味着由于巨大的文件大小和漫长的历史记录,克隆它需要花费大量的时间

按照启动空repo然后添加远程源站的步骤,添加源站花费了20分钟,占用了超过10GB的磁盘空间

一定有更好的方法来做到这一点,不需要这么长时间,也不会占用我的磁盘空间

我所要做的就是压缩分支中的一些提交,以便我们的一个机器人在我可以合并之前批准提交(PR)(这就是为什么我不能通过GH压缩和合并)

有什么想法吗


注意:我不认为浅拷贝在这里有任何帮助,因为repo在头部仍然是10GB,我希望避免完全克隆。

您可以制作浅拷贝,这是一个在移植点切断历史的拷贝。通过
--depth
选项选择移植点。您还可以创建单个分支克隆,这是使用
--depth
时的默认设置。这样的克隆有一些限制,所以在选择这条路线时要小心。可能重复的@MattCowley我已经删除了一次我的答案,这是没有帮助的。你想要的是:@MarceloFilho我对稀疏克隆的问题是,
git remote add-f origin
仍然需要20分钟,消耗大约10GB?你可以制作一个浅克隆,它的历史记录在移植点被切断。通过
--depth
选项选择移植点。您还可以创建单个分支克隆,这是使用
--depth
时的默认设置。这样的克隆有一些限制,所以在选择这条路线时要小心。可能重复的@MattCowley我已经删除了一次我的答案,这是没有帮助的。你想要的是:@MarceloFilho我对稀疏克隆的问题是,
git remote add-f origin
仍然需要20分钟,消耗大约10GB?