备份同一项目的多个git仓库(重复数据删除)

我使用一个中央git服务器(一个gitlab实例)。 开发人员将项目克隆到另一台服务器上的samba共享。 目前,我在其他服务器上备份了gitlab服务器和所有开发者directorys。 这花费了大量的磁盘空间。 理想情况下,我只想备份gitlab服务器。 我不能这样做,因为尚未推向它的更改可能会丢失(而且我不能将备份的责任转移给开发人员,例如强迫他们每天都推一次)。 有没有一个解决scheme,以重复数据与git? 我不确定是否在实际备份之前使用另一个重复数据删除系统,因为我认为在git packfiles更改时,对于另一个系统,甚至是很小的repo变化都可能很大。

取决于你如何备份。 如果你使用git进行备份,那很简单:为每个开发者的回购添加一个遥控器, git fetch它们全部git fetch 。 然后Git通过存储每个对象一次,为您做重复数据删除,无论有多less遥控器。