我的公司正在考虑实施Git,但我对于设置它的最佳方式有疑问.我们有3个站点,并计划使用Gerrit2来创建镜像.我们的存储库大约2GB,我们想开始添加二进制文件.我担心空间使用情况.我不介意所有版本的二进制文件都存储在少数几个位置,但我想确保它们不会陷入克隆操作.
我知道Git使用硬链接,但我认为只有在每个挂载上放置一个存储库副本时才能使用.是否有更好的选择,如果有,有什么权衡?我正在看的选项是"--shared"和"--reference".
Marcelo 提到的另一个替代方案是git附件:git media
git-annex不是git-media,尽管他们都从类似的方向处理同样的问题.我在编写git-annex之后才了解到git-media,但我可能仍然会编写git-annex而不是使用它.
目前,git-media的优势在于使用git smudge过滤器而不是git-annex的一堆符号链接,并且它可能更适合某些情况.
它缺乏git-annex对广泛分布式存储的支持,只使用一个后端数据存储.
它也不支持文件内容的部分检出,就像git-annex一样.
你可以使用git-annex和bup(bup允许你有版本),看(和使用bup) git-annex/ special remotes/ bup
我在" git with large files "中提供了更多细节的bup
要仅使用本机 git,请使用单独的存储库通过 git 子模块来容纳二进制文件。这对我来说在具有大量巨大 .wav 文件的 IVR 系统上很有效。如果您需要进一步说明,请随时与我联系。
这是一篇关于它们的好文章:
http://progit.org/book/ch6-6.html
希望这可以帮助