压缩git提交

时间:2017-04-27 19:50:15

标签: git

我使用git来处理它不想要的东西,二进制文件。项目文件大约80Mb,包含4个提交的.git目录增加了160Mb。将会有更多的提交,因此需要更多的磁盘空间。然而,我有另一台有足够磁盘空间的计算机,我想以某种方式将存储库移动到那里。

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

我的最新,非常"创意"想法如下:在第二台计算机上创建一个远程资源库" compress"第一个提交。鉴于此提交历史记录:

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

其中箭头表示父提交。应该可以将前三个提交的更改合并为一个。无论如何,通过创建临时存储库并将重要文件复制到其中,无论如何都可以完成。然后存储库将如下所示:

A' <----- D

为此我们必须强行将D的父级从A设置为A&#39;。但由于D的父级提交发生了变化,我认为我不能再将D推送到远程存储库了。

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

1 个答案:

答案 0 :(得分:1)

从具有更多资源的计算机同步repo不一定非常烦人。你可以自动化它。

例如:

  • rsync挂钩中使用post-commit将工作副本中的更改仅推送到其他计算机。
  • 使用NFS或Windows网络共享与功能较弱的计算机共享repo(只读)。