在 Unity 中使用 Git 大文件存储(LFS)

前言

Git 可以开箱即用于视频游戏开发。然而,主要的警告是版本大(> 5 MB)媒体文件可能是长期的问题,因为你的提交历史膨胀 –Git 根本不是最初为版本化二进制文件。

好消息是,自 2015 年中期以来,GitHub 已经发布了一个 Git 插件,名为 Git LFS ,直接处理这个问题。你现在可以轻松高效地编写大型二进制文件!

最后,本文档侧重于确保你的 Git 生活与视频游戏开发良好协作所需的特定要求和信息。本指南不会介绍如何使用 Git 本身。

安装 Git 和 Git-LFS

作为开发人员,你可以使用许多选项,第一选择是安装核心 Git 命令行还是让其中一个流行的 Git GUI 应用程序为你处理。

选项 1:使用 Git GUI 应用程序

这实际上是个人偏好,因为在 Git GUI 方面有很多选择,或者根本不使用 GUI。你有许多应用程序可供选择,以下是 3 个较受欢迎的应用程序:

一旦你安装了你选择的应用程序,请谷歌并按照如何确保为 Git-LFS 设置的说明。我们将在本指南中跳过此步骤,因为它是特定于应用程序的。

选项 2:安装 Git 和 Git-LFS

这很简单 - 安装 Git 。然后。安装 Git LFS

在项目上配置 Git Large File Storage

如果你使用 Git LFS 插件为二进制文件提供更好的支持,那么你需要设置一些由 Git LFS 管理的文件类型。将以下内容添加到存储库根目录中的 .gitattributes 文件中,以支持 Unity 项目中使用的常用二进制文件:

# Image formats:
*.tga filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.tif filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.psd filter=lfs diff=lfs merge=lfs -text

# Audio formats:
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.aiff filter=lfs diff=lfs merge=lfs -text

# 3D model formats:
*.fbx filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text

# Unity formats:
*.sbsar filter=lfs diff=lfs merge=lfs -text
*.unity filter=lfs diff=lfs merge=lfs -text

# Other binary formats
*.dll filter=lfs diff=lfs merge=lfs -text