压缩git提交

  • 本文关键字:提交 git 压缩 git
  • 更新时间 :
  • 英文 :


我将git用于二进制文件而不是意图的东西。项目文件大约为80MB大,并且包含4个提交的.git主导量增加了160MB。将会有更多的提交,因此将需要更多的磁盘空间。但是,我还有另一台具有足够磁盘空间的计算机,我想以某种方式将存储库移动到那里。

我的第一个想法是将完整的存储库移至第二台计算机,每次必须进行提交时,我都会在计算机之间移动文件,然后进行提交。鉴于我不会一直在做出这种解决方案,但很讨厌。
我的第二个想法是创建一个远程存储库,但这并不能解决空间问题。

我最新且非常"创意"的想法是:在第二台计算机上创建一个远程示波器,并在第一个计算机上"压缩"提交。给定这个订单历史:

A <----- B <----- C <----- D

箭头表示父母。应该可以将前三个提交的更改合并为一个。无论如何,通过创建临时存储库并将重要文件复制到其中,可以以某种方式完成。然后,存储库看起来像这样:

A' <----- D

为此,我们不得不强行将D的父母从a'设置为'。但是,由于D的父级更改了,所以我认为我将无法将D推到远程存储库。

总结一下:我有一个带有大二进制文件的git repository,占用了很多空间。我想使用另一台计算机的磁盘空间,但是我必须将二进制文件保留在其位置。为了保持轻松,将不涉及分支。

从具有更多资源的计算机中同步存储库并不一定要累人。您可以自动化它。

例如:

  • post-commit钩中使用rsync将工作副本中的更改仅推向另一台计算机。
  • 使用NFS或Windows网络共享的功能较低的机器共享回购(仅读取(。

最新更新