Как я могу визуально увидеть изменения, внесенные в сцену с момента последнего коммита git?

11

Я хотел бы увидеть изменения, внесенные в сцену (файл .unity), прежде чем я передам их в git.

Я рассмотрел несколько решений GIT / Unity, но все они созданы для объединения изменений, а не для отображения различий с последней версией.

Проблема с файлами сцен заключается в том, что они используют GUID, которые указывают на другие ресурсы, и когда я открываю diff для файла сцены, я не могу ничего сделать из этого.

Например: мерзавец

Вместо этого я хотел бы видеть что-то вроде этого: визуальная разница

Есть ли что-нибудь существующее, что делает это?

lilotop
источник
Я не уверен на 100% сейчас, поэтому я не публикую в качестве ответа, но я думаю, что Sourcetree показывает разницу. При условии, что вы настроили ваш проект на сериализацию текста.
Кристиан
1
За время я только научился наблюдать за сценой и самим готовить файлы. В настоящее время я могу с достаточной точностью сказать, что есть брюнет, блондин, рыжий ... Git и Unity действительно не имеют никакого отношения друг к другу, поэтому ни один из них, вероятно, не собирается предоставлять такой инструмент. Unity хочет продвигать свой собственный продукт для совместной работы на основе облака.
Лассе
Я мог бы попытаться разработать такую ​​вещь сам, если нет готового решения.
lilotop
7
Сделай это. Поместите это в магазин активов. Прибыль.
MichaelHouse
1
@ На самом деле, они работают над таким инструментом. Я уверен, что он находится в стадии бета-тестирования (меня пригласили протестировать его, но они не совсем скрытны). Я предполагаю, что это должно быть в течение месяца или двух.
Гнемлок

Ответы:

1

Я хотел бы увидеть изменения, внесенные в сцену (файл .unity), прежде чем я передам их в git.

Любой приличный инструмент git сделает это при условии, что файл сцены не является двоичным ; но, как вы упомянули, ссылки на GUID затрудняют чтение. Если сцена является двоичной, сериализация может быть обновлена ​​в Edit -> Project Settings -> Editor -> Asset Serialization; но будьте осторожны: потеря данных может произойти (см. комментарий Draco18s ниже.).

Я рассмотрел несколько решений GIT / Unity, но все они созданы для объединения изменений, а не для отображения различий с последней версией.

Просмотр изменений, внесенных в один файл, является одной из основных функций git log. На самом деле, есть вопрос о стеке потока . В основном вы бы использовали что-то вроде

git log --follow path/to/scene.unity

чтобы отобразить историю этого файла. Добавить -1для отображения самых последних изменений в указанном файле. Ommit -1и используйте, -pчтобы увидеть патч, сделанный для каждого коммита, который изменил этот файл. Я рекомендую прочитать вопрос stackoverflow перед тем, как прикасаться к документации git-log, потому что он очень длинный .

Вместо этого я хотел бы видеть что-то вроде этого:

[График сцены diff]

Есть ли что-нибудь существующее, что делает это?

Насколько я могу сказать, нет . Тем не менее, Unity for Git кажется естественным местом для его поиска. Поскольку он в альфа-версии, вы должны создать там проблему для решения этой проблемы. Так как это уникально для применения git diff на внутренних графах сцен в Unity, я подозреваю, что это будет очень уместно там.

KareemElashmawy
источник
Any decent git tool will do this... при условии, что файл не является двоичным. Который можно установить (Правка -> Настройки проекта -> Редактор -> Сериализация активов). У меня сейчас два проекта: один, где файл сцены - это двоичные данные, а другой - текст. Текст был изменен из-за импортированного мной актива, который поощрял изменение на «Принудительный текст», потому что некоторые аспекты платформы плагин / актив / целевая платформа работали лучше. ВНИМАНИЕ: изменение режимов может привести к потере данных.
Draco18s больше не доверяет SE
-4

Я бы порекомендовал вам просто использовать Git с Bitbucket (в качестве push-источника!), Поскольку он предоставляет действительно хороший графический интерфейс, который позволяет вам видеть графическое представление вашей ветви и историю коммитов, а также изменения в текстовых файлах, где вы даже можете увидеть изменения в код красного и зеленого цветов, а также множество других приятных функций рабочего процесса.

Ящер
источник
Я думаю, вы совершенно не поняли мой вопрос. Я говорю о текстовых файлах сцены, которые содержат ссылки guid на другие объекты Unity. Если нет какого-нибудь умного клиента BitBucket, о котором я не знаю, который может разрешить эти ссылки - вы здесь совершенно не в себе.
lilotop