Git大文件系统git-lfs可用于存储大文件,并以txt文件的形式存储到git存储库。问题是何时决定文件是否应该转到git LFS,以及是否确定现有的CI配置是否会中断。

有时jars被添加到gradlew.jar之类的存储库中。据我说,像jars这样的二进制文件不应该存储在git中,因为它们不是可以更改的文本文件,但是二进制文件不必很大。

当前,我们有多个包含jar文件的git存储库。我想知道是否所有这些罐子都应该移到git-lfs中。

评论

您要存储什么?

添加了附加段落。

#1 楼

何时确定是否应将文件转到git LFS

您的文件可以随时转到git-lfs,但是对于少数文件实现此解决方案是不够的。特别是如果它是基本的gradlew jars。

我以前使用过gradlew策略。这个想法是沿着代码推动这个“包装器”,以使构建过程可移植。具有适当JRE的任何平台都将能够以类似方式构建应用程序。这减轻了强制团队安装特定版本的gradle的麻烦。

gi-lfs的目的是利用git的好处以及通过缓存和索引大型文件来远程存储大型文件的能力。当二进制文件存储时,它减轻了下载大型存储库的负担。

我认为您应该在以下情况下开始考虑此解决方案:


您的git存储库包含大型存储库文件(MB大小的任何文件)
它们代表存储库的主要内容
这些文件会定期更新
CI工具花几分钟的时间来提取/克隆存储库

如果您考虑使用此解决方案来跟踪二进制版本,我建议您改用二进制存储库,例如:


Jfrog Artifactory
Archiva

现有的CI配置会中断吗?

如果您决定使用git-lfs,则正常的git命令将无法工作。完成设置后,您将需要创建指向git-lfs的符号链接,或者在CI工具中的lfs之后添加git。即git clone变为git lfs clone