在VCS中存储.jar文件的最佳实践(SVN,Git等)

在VCS中存储.jar文件的最佳实践(SVN,Git等),第1张

在VCS中存储.jar文件的最佳实践(SVN,Git等)

在VCS中存储.jar文件的最佳实践(SVN,Git等):请勿。

在像SVN这样的CVCS(集中式VCS)中,它可以处理数百万个文件,无论其大小如何都是有意义的。

它不在DVCS中,尤其是像Git这样的(及其限制):

  • 二进制文件不适用于VCS。
  • 默认情况下,克隆DVCS回购将让你 所有 的历史,所有的罐子版本。这将很慢,并且会占用大量磁盘空间,而不管这些jar的压缩程度如何。
    您可以尝试浅克隆,但这是不切实际的。

使用第二个存储库(例如 Nexus )来存储这些jar,并且仅引用一个

txt
文件(或
Maven 项目的
pom.xml
文件)以获取正确的jar版本。
工件仓库更适合于[分发和发布管理目的](http://codingdict.com/questions/110315。


话虽如此,如果您 必须
将jar存储在Git存储库中,我建议最初将其以压缩格式存储(这是jar的默认格式:请参见创建JAR文件)
。压缩和未压缩格式都可以被Git视为二进制文件,但至少以压缩格式,克隆和签出将花费更少的时间。

但是,许多线程提到可以以未压缩格式存储jar的可能性:

我正在使用一些回购协议,将其定期签入50MB tarball。
我说服他们不要压缩tarball,而git在它们之间进行增量压缩方面做得相当不错(尽管这样做需要大量的RAM)。

您在这里有更多关于Git上经过修饰的对象的信息:

  • 如果您要处理二进制或文本,则没有什么区别;
  • 增量不一定与先前版本中的路径相同,因此即使添加到历史记录中的新文件也可以以限定格式存储;
    *当使用存储在deltified表示形式中的对象时,与在压缩的基本表示形式中使用同一对象相比,它将产生更多的成本。删除机制会在考虑此成本以及空间效率的情况下进行权衡。

因此,如果克隆和检出不是您每隔5分钟必须执行的常见 *** 作,则将jar以未压缩的格式存储在Git中会更有意义,因为:

  • Git将为这些文件压缩/计算增量
  • 您最终会在工作目录中得到未压缩的jar,然后可能会更快速地加载jar。

建议:未压缩



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5350471.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-09
下一篇 2022-12-09

发表评论

登录后才能评论

评论列表(0条)

保存