我将git用于二进制文件而不是意图的东西。项目文件大约为80MB大,并且包含4个提交的.git主导量增加了160MB。将会有更多的提交,因此将需要更多的磁盘空间。但是,我还有另一台具有足够磁盘空间的计算机,我想以某种方式将存储库移动到那里。
我的第一个想法是将完整的存储库移至第二台计算机,每次必须进行提交时,我都会在计算机之间移动文件,然后进行提交。鉴于我不会一直在做出这种解决方案,但很讨厌。
我的第二个想法是创建一个远程存储库,但这并不能解决空间问题。
我最新且非常"创意"的想法是:在第二台计算机上创建一个远程示波器,并在第一个计算机上"压缩"提交。给定这个订单历史:
A <----- B <----- C <----- D
箭头表示父母。应该可以将前三个提交的更改合并为一个。无论如何,通过创建临时存储库并将重要文件复制到其中,可以以某种方式完成。然后,存储库看起来像这样:
A' <----- D
为此,我们不得不强行将D的父母从a'设置为'。但是,由于D的父级更改了,所以我认为我将无法将D推到远程存储库。
总结一下:我有一个带有大二进制文件的git repository,占用了很多空间。我想使用另一台计算机的磁盘空间,但是我必须将二进制文件保留在其位置。为了保持轻松,将不涉及分支。
从具有更多资源的计算机中同步存储库并不一定要累人。您可以自动化它。
例如:
- 在
post-commit
钩中使用rsync
将工作副本中的更改仅推向另一台计算机。 - 使用NFS或Windows网络共享的功能较低的机器共享回购(仅读取(。