Git: что сохранять в репозитории
Готовые правила исключений и переносов строк без потери авторских ресурсов и UID.
Сохраняйте исходники, не кэш
| Сохранять в Git | Обычно не сохранять |
|---|---|
| project.reckfell, .csproj и файлы решения | .reckfell с кэшем и стандартным C#-выводом |
| .cs и относящиеся к ресурсам UID-файлы | Результаты сборки bin/obj, если используются |
| Авторские .rscene, .rprefab, .rdata | Собранные игры в зарезервированной папке exports |
| Исходные изображения, звук, модели, переводы | Локальные ключи, пароли и служебные учётные данные |
Не исключайте все .csproj, .uid или Resource-файлы как «генерируемые»: они могут быть необходимой частью проекта. Локальные секреты храните вне репозитория; правила ниже — для артефактов сборки, не автоматический поиск секретов.
.gitignore в корне проекта
.reckfell/
/bin/
/obj/
/exports/SDK 1.0.0 по умолчанию помещает C#-вывод в .reckfell/mono/temp. Отдельные bin/obj здесь покрывают явно изменённый путь вывода. exports — согласованное имя папки для готовых сборок, а не обязательная папка движка.
.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 -textТекст нормализуется в LF. Перечисленные бинарные форматы не проходят текстовое преобразование. Расширяйте список по фактическим форматам проекта; .rbin также является бинарным ресурсом и не должен принудительно объявляться текстом.
Проверить до отправки
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 --statОжидается, что файл под .reckfell игнорируется, а для C# и префаба указано eol: lf. Перед commit просмотрите подготовленные файлы; наличие .gitignore не удаляет уже отслеживаемый кэш из истории.
Для проверки восстановления используйте отдельную копию или clone: откройте проект, восстановите пакеты, выполните dotnet build и запустите основной уровень. Удалять рабочий проект для такой проверки не нужно. Встроенный VCS-плагин не является условием использования Git из терминала.