(作为术语的注释,这些是其他"遥控器",而不是"起源";"起源"只是为您克隆的存储库设置的遥控器的默认名称.)
如果您添加了一个远程,它是原始大型存储库的一个分支(并从那里获取),通常会占用很少的额外空间.这是因为git的聪明存储模型.每个文件("blob")由散列标识,每个目录("树")由包含在其中的blob,树和其他对象的散列的散列标识,并且通过包括树的散列数据来标识提交.在源代码的顶层.因此,所有历史直到有一个fork将由具有相同ID的提交表示,因此没有额外的存储空间用于那些.分歧后,只有用于已更改文件的额外存储空间 - 如果存储库中存在大量blob,除非其内容已更改,否则它们仍将具有相同的哈希值,所以只会存储一次.(即使这样,git在打包对象时也会进行二进制增量压缩,因此对大文件进行小的更改应该仍然非常有效.)
如果fork添加了原始存储库中不存在的大型新文件,那么这将显着增加所使用的空间量.