Set up Git LFS for binary art/audio/model assets
- git lfs install run repo-wide; LFS objects push to Forgejo (git.rdx4.com) - .gitattributes routes images/audio/video/models/fonts/native-libs + binary .asset exceptions (LightingData, cubemap) through LFS filter - Unity YAML text assets (.unity/.prefab/.mat/.asset/.anim/.controller) stay normal mergeable text, NOT LFS - Verified: .png->lfs, .prefab->text, clean filter produces LFS pointer Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
fe884e97f7
commit
a5502b1d17
1 changed files with 102 additions and 23 deletions
125
.gitattributes
vendored
125
.gitattributes
vendored
|
|
@ -1,29 +1,108 @@
|
|||
# ============================================================================
|
||||
# JANKENBOTS .gitattributes — Unity + Git LFS
|
||||
# LFS objects are stored on the Forgejo remote (git.rdx4.com). git-lfs must be
|
||||
# installed locally (`git lfs install`) — it is, repo-wide, as of 2026-07-12.
|
||||
# ============================================================================
|
||||
|
||||
# Normalize line endings; Unity is happiest with LF for its YAML text assets.
|
||||
* text=auto eol=lf
|
||||
*.cs text diff=csharp eol=lf
|
||||
|
||||
# Unity YAML text assets — mergeable with UnityYAMLMerge
|
||||
*.unity merge=unityyamlmerge eol=lf
|
||||
*.prefab merge=unityyamlmerge eol=lf
|
||||
*.asset merge=unityyamlmerge eol=lf
|
||||
*.meta merge=unityyamlmerge eol=lf
|
||||
*.mat merge=unityyamlmerge eol=lf
|
||||
*.anim merge=unityyamlmerge eol=lf
|
||||
*.controller merge=unityyamlmerge eol=lf
|
||||
# ---- Unity YAML *text* assets — mergeable with UnityYAMLMerge, NOT LFS -------
|
||||
# These are human-readable YAML (Asset Serialization = Force Text). Keep them as
|
||||
# normal git text so diffs/merges work. Do NOT add them to LFS.
|
||||
*.unity merge=unityyamlmerge eol=lf
|
||||
*.prefab merge=unityyamlmerge eol=lf
|
||||
*.asset merge=unityyamlmerge eol=lf
|
||||
*.meta merge=unityyamlmerge eol=lf
|
||||
*.mat merge=unityyamlmerge eol=lf
|
||||
*.anim merge=unityyamlmerge eol=lf
|
||||
*.controller merge=unityyamlmerge eol=lf
|
||||
*.physicMaterial merge=unityyamlmerge eol=lf
|
||||
*.physicsMaterial merge=unityyamlmerge eol=lf
|
||||
|
||||
# Common binary asset types (mark binary so git doesn't mangle them)
|
||||
*.png binary
|
||||
*.jpg binary
|
||||
*.jpeg binary
|
||||
*.gif binary
|
||||
*.psd binary
|
||||
*.fbx binary
|
||||
*.obj binary
|
||||
*.wav binary
|
||||
*.mp3 binary
|
||||
*.ogg binary
|
||||
*.dll binary
|
||||
*.a binary
|
||||
*.so binary
|
||||
# ============================================================================
|
||||
# Git LFS — large binaries (art / audio / video / models / fonts / native libs)
|
||||
# filter=lfs diff=lfs merge=lfs -text
|
||||
# ============================================================================
|
||||
|
||||
# NOTE: no Git LFS yet. Add it (and move large binaries to LFS) once real art/audio lands.
|
||||
# ---- Images / textures ------------------------------------------------------
|
||||
*.png filter=lfs diff=lfs merge=lfs -text
|
||||
*.jpg filter=lfs diff=lfs merge=lfs -text
|
||||
*.jpeg filter=lfs diff=lfs merge=lfs -text
|
||||
*.gif filter=lfs diff=lfs merge=lfs -text
|
||||
*.bmp filter=lfs diff=lfs merge=lfs -text
|
||||
*.tga filter=lfs diff=lfs merge=lfs -text
|
||||
*.tif filter=lfs diff=lfs merge=lfs -text
|
||||
*.tiff filter=lfs diff=lfs merge=lfs -text
|
||||
*.psd filter=lfs diff=lfs merge=lfs -text
|
||||
*.ai filter=lfs diff=lfs merge=lfs -text
|
||||
*.dds filter=lfs diff=lfs merge=lfs -text
|
||||
*.iff filter=lfs diff=lfs merge=lfs -text
|
||||
*.pict filter=lfs diff=lfs merge=lfs -text
|
||||
*.exr filter=lfs diff=lfs merge=lfs -text
|
||||
*.hdr filter=lfs diff=lfs merge=lfs -text
|
||||
|
||||
# ---- Audio ------------------------------------------------------------------
|
||||
*.wav filter=lfs diff=lfs merge=lfs -text
|
||||
*.mp3 filter=lfs diff=lfs merge=lfs -text
|
||||
*.ogg filter=lfs diff=lfs merge=lfs -text
|
||||
*.aif filter=lfs diff=lfs merge=lfs -text
|
||||
*.aiff filter=lfs diff=lfs merge=lfs -text
|
||||
*.flac filter=lfs diff=lfs merge=lfs -text
|
||||
*.mod filter=lfs diff=lfs merge=lfs -text
|
||||
*.it filter=lfs diff=lfs merge=lfs -text
|
||||
*.s3m filter=lfs diff=lfs merge=lfs -text
|
||||
*.xm filter=lfs diff=lfs merge=lfs -text
|
||||
|
||||
# ---- Video ------------------------------------------------------------------
|
||||
*.mp4 filter=lfs diff=lfs merge=lfs -text
|
||||
*.mov filter=lfs diff=lfs merge=lfs -text
|
||||
*.avi filter=lfs diff=lfs merge=lfs -text
|
||||
*.webm filter=lfs diff=lfs merge=lfs -text
|
||||
*.mpg filter=lfs diff=lfs merge=lfs -text
|
||||
*.mpeg filter=lfs diff=lfs merge=lfs -text
|
||||
*.flv filter=lfs diff=lfs merge=lfs -text
|
||||
*.ogv filter=lfs diff=lfs merge=lfs -text
|
||||
*.wmv filter=lfs diff=lfs merge=lfs -text
|
||||
|
||||
# ---- 3D models --------------------------------------------------------------
|
||||
*.fbx filter=lfs diff=lfs merge=lfs -text
|
||||
*.obj filter=lfs diff=lfs merge=lfs -text
|
||||
*.blend filter=lfs diff=lfs merge=lfs -text
|
||||
*.dae filter=lfs diff=lfs merge=lfs -text
|
||||
*.3ds filter=lfs diff=lfs merge=lfs -text
|
||||
*.max filter=lfs diff=lfs merge=lfs -text
|
||||
*.c4d filter=lfs diff=lfs merge=lfs -text
|
||||
*.mb filter=lfs diff=lfs merge=lfs -text
|
||||
*.ma filter=lfs diff=lfs merge=lfs -text
|
||||
*.lwo filter=lfs diff=lfs merge=lfs -text
|
||||
*.lws filter=lfs diff=lfs merge=lfs -text
|
||||
*.abc filter=lfs diff=lfs merge=lfs -text
|
||||
*.ply filter=lfs diff=lfs merge=lfs -text
|
||||
*.stl filter=lfs diff=lfs merge=lfs -text
|
||||
*.glb filter=lfs diff=lfs merge=lfs -text
|
||||
*.gltf filter=lfs diff=lfs merge=lfs -text
|
||||
|
||||
# ---- Fonts ------------------------------------------------------------------
|
||||
*.ttf filter=lfs diff=lfs merge=lfs -text
|
||||
*.otf filter=lfs diff=lfs merge=lfs -text
|
||||
|
||||
# ---- Native libraries / archives / binary bundles ---------------------------
|
||||
*.dll filter=lfs diff=lfs merge=lfs -text
|
||||
*.so filter=lfs diff=lfs merge=lfs -text
|
||||
*.dylib filter=lfs diff=lfs merge=lfs -text
|
||||
*.a filter=lfs diff=lfs merge=lfs -text
|
||||
*.bundle filter=lfs diff=lfs merge=lfs -text
|
||||
*.zip filter=lfs diff=lfs merge=lfs -text
|
||||
*.7z filter=lfs diff=lfs merge=lfs -text
|
||||
*.rar filter=lfs diff=lfs merge=lfs -text
|
||||
*.gz filter=lfs diff=lfs merge=lfs -text
|
||||
*.unitypackage filter=lfs diff=lfs merge=lfs -text
|
||||
*.unity3d filter=lfs diff=lfs merge=lfs -text
|
||||
*.assetbundle filter=lfs diff=lfs merge=lfs -text
|
||||
|
||||
# ---- Binary .asset exceptions (override the text rule above) ----------------
|
||||
# Baked lighting / cubemaps are binary despite the .asset extension.
|
||||
*.cubemap filter=lfs diff=lfs merge=lfs -text
|
||||
LightingData.asset filter=lfs diff=lfs merge=lfs -text
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue