Git: what belongs in the repository
Ready-to-use ignore and line-ending rules that preserve source assets and UIDs.
Commit sources rather than caches
| Commit to Git | Usually exclude |
|---|---|
| project.reckfell, .csproj and solution files | .reckfell caches and standard C# output |
| .cs files and resource UID sidecars | bin/obj build outputs when used |
| Authored .rscene, .rprefab and .rdata | Built games in the reserved exports folder |
| Source images, audio, models and translations | Local keys, passwords and service credentials |
Do not exclude every .csproj, .uid or Resource file as generated: they may be essential project sources. Keep local secrets outside the repository; the rules below handle build artifacts rather than automatically finding secrets.
Root .gitignore
.reckfell/
/bin/
/obj/
/exports/SDK 1.0.0 normally puts C# output under .reckfell/mono/temp. Separate bin/obj rules cover explicitly changed output paths. exports is an agreed directory for generated builds rather than a required engine directory.
Root .gitattributes
* text=auto eol=lf
*.cs text eol=lf
*.rscene text eol=lf
*.rprefab text eol=lf
*.rdata text eol=lf
*.png -text
*.wav -text
*.glb -textText is normalized to LF. The listed binary formats bypass text conversion. Extend the list for the formats actually used; .rbin is also a binary resource and must not be forced to text.
Check before sending
git status --short
git check-ignore -v .reckfell/mono/temp/bin/Example.dll
git check-attr text eol -- actors/DamageReceiver.cs actors/enemy.rprefab
git diff --cached --statThe .reckfell file should be ignored; C# and prefab attributes should show eol: lf. Review staged files before committing; .gitignore does not remove an already tracked cache from history.
Test recovery in a separate copy or clone: open the project, restore packages, run dotnet build and launch the main level. You do not need to delete your working project. An in-editor VCS plugin is not required to use Git from a terminal.