Add UE .gitattributes (Git LFS rules)

This commit is contained in:
BM_Admin1312 2026-04-21 17:29:04 +02:00
parent 1bc09848d5
commit e85b45a3cf

201
.gitattributes vendored Normal file
View file

@ -0,0 +1,201 @@
# ============================================================
# Line endings
# ============================================================
* text=auto
# Force CRLF for Windows-only
*.bat text eol=crlf
*.cmd text eol=crlf
*.ps1 text eol=crlf
*.sln text eol=crlf
# Force LF for cross-platform scripts
*.sh text eol=lf
# Explicit text (auto catches them, but keeps diffs clean)
*.cpp text
*.c text
*.h text
*.hpp text
*.cs text
*.ini text
*.uproject text
*.uplugin text
*.json text
*.xml text
*.md text
*.yaml text
*.yml text
*.svg text
*.gltf text
# ============================================================
# Git LFS - UE runtime binary assets (globalno)
# Extension je ovde jednoznacan: samo UE engine proizvodi ove fajlove.
# ============================================================
*.uasset filter=lfs diff=lfs merge=lfs -text
*.umap filter=lfs diff=lfs merge=lfs -text
*.uexp filter=lfs diff=lfs merge=lfs -text
*.ubulk filter=lfs diff=lfs merge=lfs -text
*.uptnl filter=lfs diff=lfs merge=lfs -text
*.ucas filter=lfs diff=lfs merge=lfs -text
*.utoc filter=lfs diff=lfs merge=lfs -text
*.pak filter=lfs diff=lfs merge=lfs -text
*.locres filter=lfs diff=lfs merge=lfs -text
# ============================================================
# Fonts - globalno (uvek binarno, nema ambiguity sa docs slikama)
# ============================================================
*.ttf filter=lfs diff=lfs merge=lfs -text
*.otf filter=lfs diff=lfs merge=lfs -text
# ============================================================
# Media / DCC - folder-scoped
# SourceArt/** i RawContent/** su jasno "source asset" lokacije.
# Globalno pravilo po ekstenziji bi hvatalo i docs/screenshot.png,
# README_banner.jpg itd. - ovde to ne zelimo.
#
# Ako tvoj workflow drzi raw source fajlove pored .uasset fajlova
# u Content/, raskomentarisi Content/** blok na dnu.
# ============================================================
# ----- Images / Textures -----
SourceArt/**/*.png filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.jpg filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.jpeg filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.gif filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.bmp filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.tga filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.tif filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.tiff filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.exr filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.hdr filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.psd filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.psb filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.ai filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.png filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.jpg filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.jpeg filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.gif filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.bmp filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.tga filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.tif filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.tiff filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.exr filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.hdr filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.psd filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.psb filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.ai filter=lfs diff=lfs merge=lfs -text
# ----- 3D / Meshes -----
SourceArt/**/*.fbx filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.obj filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.3ds filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.max filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.blend filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.dae filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.abc filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.usd filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.usda filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.usdc filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.usdz filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.stl filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.ply filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.glb filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.fbx filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.obj filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.3ds filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.max filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.blend filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.dae filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.abc filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.usd filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.usda filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.usdc filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.usdz filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.stl filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.ply filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.glb filter=lfs diff=lfs merge=lfs -text
# ----- Audio -----
SourceArt/**/*.wav filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.mp3 filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.ogg filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.flac filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.aif filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.aiff filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.m4a filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.wav filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.mp3 filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.ogg filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.flac filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.aif filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.aiff filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.m4a filter=lfs diff=lfs merge=lfs -text
# ----- Video -----
SourceArt/**/*.mp4 filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.mov filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.avi filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.mkv filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.webm filter=lfs diff=lfs merge=lfs -text
SourceArt/**/*.wmv filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.mp4 filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.mov filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.avi filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.mkv filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.webm filter=lfs diff=lfs merge=lfs -text
RawContent/**/*.wmv filter=lfs diff=lfs merge=lfs -text
# ============================================================
# Icons - zadrzano globalno (uvek mali binarni fajlovi)
# ============================================================
*.ico filter=lfs diff=lfs merge=lfs -text
*.icns filter=lfs diff=lfs merge=lfs -text
# ============================================================
# NAPOMENE - sta NIJE u LFS-u i zasto
# ============================================================
# - *.pdf, *.zip, *.rar, *.7z, *.woff, *.woff2
# => nisu UE-specificni; ako ti zatrebaju, dodaj folder-scope pravilo
# tamo gde zaista zive, ne globalno.
# - *.svg, *.gltf
# => to su tekst formati (XML / JSON), ostaju kao text u Git-u.
# Za binarni 3D format koristi *.glb (vec je u LFS-u gore).
# - "lockable" atribut nije postavljen jer je to workflow policy,
# ne univerzalni default. Ako tvoj tim koristi LFS locking, dodaj npr.:
# *.uasset filter=lfs diff=lfs merge=lfs -text lockable
# *.umap filter=lfs diff=lfs merge=lfs -text lockable
# ============================================================
# Opt-in: Content/** source workflow
# Raskomentarisi ako tvoj projekat drzi raw PNG/WAV/FBX/PSD pored
# importovanih .uasset fajlova u Content/. Ovo je svestan izbor
# workflow-a (neki timovi to rade, neki ne).
# ============================================================
# Content/**/*.png filter=lfs diff=lfs merge=lfs -text
# Content/**/*.jpg filter=lfs diff=lfs merge=lfs -text
# Content/**/*.jpeg filter=lfs diff=lfs merge=lfs -text
# Content/**/*.tga filter=lfs diff=lfs merge=lfs -text
# Content/**/*.tif filter=lfs diff=lfs merge=lfs -text
# Content/**/*.tiff filter=lfs diff=lfs merge=lfs -text
# Content/**/*.exr filter=lfs diff=lfs merge=lfs -text
# Content/**/*.hdr filter=lfs diff=lfs merge=lfs -text
# Content/**/*.psd filter=lfs diff=lfs merge=lfs -text
# Content/**/*.psb filter=lfs diff=lfs merge=lfs -text
# Content/**/*.wav filter=lfs diff=lfs merge=lfs -text
# Content/**/*.mp3 filter=lfs diff=lfs merge=lfs -text
# Content/**/*.ogg filter=lfs diff=lfs merge=lfs -text
# Content/**/*.flac filter=lfs diff=lfs merge=lfs -text
# Content/**/*.fbx filter=lfs diff=lfs merge=lfs -text
# Content/**/*.obj filter=lfs diff=lfs merge=lfs -text
# Content/**/*.blend filter=lfs diff=lfs merge=lfs -text
# Content/**/*.abc filter=lfs diff=lfs merge=lfs -text
# Content/**/*.usd filter=lfs diff=lfs merge=lfs -text
# Content/**/*.glb filter=lfs diff=lfs merge=lfs -text
# Content/**/*.mp4 filter=lfs diff=lfs merge=lfs -text
# Content/**/*.mov filter=lfs diff=lfs merge=lfs -text