Why can't I version compressed/binary files in Stash/Bitbucket?

时间:2019-04-21 19:32:42

标签: git bitbucket nexus

Can some one please advise why cant we store our artifacts or WAR files on stash/bitbucket instead of nexus.

I am bit confused in the difference between stash and other repository like nexus,artifactory etc.

1 个答案:

答案 0 :(得分:2)

是否应在版本控制下维护WAR文件和其他压缩文件是一个问题。一些组织在其版本控制系统中尽可能多地存储:jar文件,zip文件,二进制文件;其他组织仅在可能的情况下对文本文件进行版本控制。

就个人而言,我认为在git中存储诸如WAR文件之类的压缩文件没有任何价值。造成这种情况的原因有三个:

  • 压缩文件不是文本文件,因此不能像普通文本文件一样进行合并/区分或操作。
  • 如果您要存储诸如jar或war文件之类的压缩文件,则可能是其他人已经在某处检查了该文件,因此随着时间的流逝,同一文件的数百个副本会污染源树。
  • 随着时间的流逝,您的源树变得非常大,导致更长的结帐时间,更大的备份和一般的维护难题。

我认为一种更好的方法是将文件上载一次到类似nexus(或工件)的地方,然后将其拉到所需的位置(通常在构建脚本中)。

在某些情况下,您必须对压缩文件或二进制文件进行版本控制,例如Why doesn't this code throw a ConcurrentModificationException?的git解决方案