gpt4 book ai didi

git - 克隆 git 或 hg 存储库时如何节省磁盘使用量?

转载 作者:太空狗 更新时间:2023-10-29 14:27:23 26 4
gpt4 key购买 nike

我已将几棵树克隆到我的本地磁盘中,但它占用了我有限的笔记本电脑磁盘的太多空间。与非分布式版本控制(例如 SVN 和 CVS)不同,当您 checkout git 或 Mercurial 存储库时,您会得到整棵树,包括整个历史记录,因为我很少向这些存储库提交任何代码,但希望让它们保持更新——迄今为止,我发现这些分布式版本控制系统浪费了太多的本地磁盘。

到目前为止,我对消除这种浪费的一些想法是:

  • 在本地磁盘上创建一个 zfs 或 btrfs 分区(可能是一个循环文件​​系统,因为我不想让它太持久),这应该可以更好地利用重复的文件 block 。这可能会占用过多的 CPU 周期,从而使其效率低下。

  • 放弃使用版本控制并创建一个脚本来每天下载包含整个存储库的 .zip 文件。这会占用太多带宽,我不想这样做。

我的最终解决方案是以某种方式使用 git/hg,就像我们使用 SVN 和 CVS 一样——在服务器上保留历史记录并在本地仅保留最新的修订版,或者在本地保留有限的历史记录,两者都不会破坏其他所有内容,因此我可以查看日志或将文件恢复到以前的修订版本,如果本地不可用,版本控制系统将从远程获取所需信息。

最佳答案

来自hg clone的帮助信息:

To pull only a subset of changesets, specify one or more revisions
identifiers with -r/--rev or branches with -b/--branch. The resulting
clone will contain only the specified changesets and their ancestors.

假设您想要的不仅仅是最新版本,您应该能够使用 HG 的修订语法来限制您获得的修订数量。使用 -r tip 来获取提示。

关于git - 克隆 git 或 hg 存储库时如何节省磁盘使用量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14812202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com