Сломанный проект Unity после git clone - PullRequest
0 голосов
/ 02 июня 2018

У меня есть проект Unity ( ссылка github ), который не работает после клонирования.Даже если файлы есть, они имеют неверное содержимое.Например, файлы .png заменяются текстом:

версия https://git -lfs.github.com / spec / v1 oid sha256: 089f8198df161233681006c4243f6d6babb2e125062a21ea727d0d26c97 **

Некоторые библиотеки DLL, которые есть у меня из пакетов внешних ресурсов (например, DOTween), также, вероятно, хранятся неправильно, потому что компилятор жалуется на необъявленные пространства имен.

Активы / Внешние зависимости / Demigiant /DOTween / examples / Basics.cs (3,7): ошибка CS0246: не удалось найти тип или имя пространства имен `DG '.Вам не хватает ссылки на сборку?

ОБНОВЛЕНИЕ: На самом деле, dll даже не существует.Зачем?Они не являются частью gitignore.

Я установил Version Control Mode на Visible Meta Files и Asset Serialization Mode на Force Text.

Я попытался переместить проект вновый каталог, удалив папку .git, удалив Library, переделав все заново (открыв заново с Unity, а затем git init), и отправив в новое хранилище.Новый репозиторий имеет те же проблемы, что и предыдущий.

Я использую .gitignore по умолчанию для Unity

и следующие .gitattributes (для включения LFS):

# 3D models
*.3dm filter=lfs diff=lfs merge=lfs -text
*.3ds filter=lfs diff=lfs merge=lfs -text
*.blend filter=lfs diff=lfs merge=lfs -text
*.c4d filter=lfs diff=lfs merge=lfs -text
*.collada filter=lfs diff=lfs merge=lfs -text
*.dae filter=lfs diff=lfs merge=lfs -text
*.dxf filter=lfs diff=lfs merge=lfs -text
*.fbx filter=lfs diff=lfs merge=lfs -text
*.jas filter=lfs diff=lfs merge=lfs -text
*.lws filter=lfs diff=lfs merge=lfs -text
*.lxo filter=lfs diff=lfs merge=lfs -text
*.ma filter=lfs diff=lfs merge=lfs -text
*.max filter=lfs diff=lfs merge=lfs -text
*.mb filter=lfs diff=lfs merge=lfs -text
*.obj filter=lfs diff=lfs merge=lfs -text
*.ply filter=lfs diff=lfs merge=lfs -text
*.skp filter=lfs diff=lfs merge=lfs -text
*.stl filter=lfs diff=lfs merge=lfs -text
*.ztl filter=lfs diff=lfs merge=lfs -text
# Audio
*.aif filter=lfs diff=lfs merge=lfs -text
*.aiff filter=lfs diff=lfs merge=lfs -text
*.it filter=lfs diff=lfs merge=lfs -text
*.mod filter=lfs diff=lfs merge=lfs -text
*.mp3 filter=lfs diff=lfs merge=lfs -text
*.ogg filter=lfs diff=lfs merge=lfs -text
*.s3m filter=lfs diff=lfs merge=lfs -text
*.wav filter=lfs diff=lfs merge=lfs -text
*.xm filter=lfs diff=lfs merge=lfs -text
# Fonts
*.otf filter=lfs diff=lfs merge=lfs -text
*.ttf filter=lfs diff=lfs merge=lfs -text
# Images
*.bmp filter=lfs diff=lfs merge=lfs -text
*.exr filter=lfs diff=lfs merge=lfs -text
*.gif filter=lfs diff=lfs merge=lfs -text
*.hdr filter=lfs diff=lfs merge=lfs -text
*.iff filter=lfs diff=lfs merge=lfs -text
*.jpeg filter=lfs diff=lfs merge=lfs -text
*.jpg filter=lfs diff=lfs merge=lfs -text
*.pict filter=lfs diff=lfs merge=lfs -text
*.png filter=lfs diff=lfs merge=lfs -text
*.psd 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
# Collapse Unity-generated files on GitHub
*.asset linguist-generated
*.mat linguist-generated
*.meta linguist-generated
*.prefab linguist-generated
*.unity linguist-generated

ОБНОВЛЕНИЕ:

После дальнейшего исследования кажется, что файлы png перезаписываются (на единицу?), Когда проект открывается после клонирования.Они правильно существуют в удаленном хранилище.Внешние dll, с другой стороны, вообще не загружаются.

1 Ответ

0 голосов
/ 02 июня 2018

Ваш .gitattributes файл неверен.

*.png filter=lfs diff=lfs merge=lfs -text

Текст?ТЕКСТ?С какой стати вы хотите рассматривать файлы .png как текст?То же самое касается большинства этих других атрибутов.

Глядя на мой собственный .gitattributes файл, у меня есть это:
(Да, большинство строк - комментарии)

###############################################################################
# Set default behavior to automatically normalize line endings.
###############################################################################
* text=auto
###############################################################################
# Set default behavior for command prompt diff.
#
# This is need for earlier builds of msysgit that does not have it on by
# default for csharp files.
# Note: This is only used by command line
###############################################################################
#*.cs     diff=csharp

###############################################################################
# Set the merge driver for project and solution files
#
# Merging from the command prompt will add diff markers to the files if there
# are conflicts (Merging from VS is not affected by the settings below, in VS
# the diff markers are never inserted). Diff markers may cause the following 
# file extensions to fail to load in VS. An alternative would be to treat
# these files as binary and thus will always conflict and require user
# intervention with every merge. To do so, just uncomment the entries below
###############################################################################
#*.sln       merge=binary
#*.csproj    merge=binary
#*.vbproj    merge=binary
#*.vcxproj   merge=binary
#*.vcproj    merge=binary
#*.dbproj    merge=binary
#*.fsproj    merge=binary
#*.lsproj    merge=binary
#*.wixproj   merge=binary
#*.modelproj merge=binary
#*.sqlproj   merge=binary
#*.wwaproj   merge=binary

###############################################################################
# behavior for image files
#
# image files are treated as binary by default.
###############################################################################
#*.jpg   binary
#*.png   binary
#*.gif   binary

###############################################################################
# diff behavior for common document formats
# 
# Convert binary document formats to text before diffing them. This feature
# is only available from the command line. Turn it on by uncommenting the 
# entries below.
###############################################################################
#*.doc   diff=astextplain
#*.DOC   diff=astextplain
#*.docx  diff=astextplain
#*.DOCX  diff=astextplain
#*.dot   diff=astextplain
#*.DOT   diff=astextplain
#*.pdf   diff=astextplain
#*.PDF   diff=astextplain
#*.rtf   diff=astextplain
#*.RTF   diff=astextplain

Этот файл был создан автоматически для меня, когда я создавал репозиторий git через настольное приложение GitHub.Я слышал, что это "не очень хорошо", но я обнаружил, что он делает то, что мне нужно.А именно, не мешать совершать коммиты и выдвигать на GitHub.

...