![Как получить клиент Git с графическим интерфейсом, который правильно сравнивает образы?](https://rvso.com/image/1575968/%D0%9A%D0%B0%D0%BA%20%D0%BF%D0%BE%D0%BB%D1%83%D1%87%D0%B8%D1%82%D1%8C%20%D0%BA%D0%BB%D0%B8%D0%B5%D0%BD%D1%82%20Git%20%D1%81%20%D0%B3%D1%80%D0%B0%D1%84%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%BC%20%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D1%84%D0%B5%D0%B9%D1%81%D0%BE%D0%BC%2C%20%D0%BA%D0%BE%D1%82%D0%BE%D1%80%D1%8B%D0%B9%20%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%20%D1%81%D1%80%D0%B0%D0%B2%D0%BD%D0%B8%D0%B2%D0%B0%D0%B5%D1%82%20%D0%BE%D0%B1%D1%80%D0%B0%D0%B7%D1%8B%3F.png)
Мы только начинаем проект (на основе Unity) и используем git (ранее мы использовали SVN) на Windows 10 и MacOS. В настоящее время мы используем Sourcetree в качестве клиента, хотя мы открыты для использования клиентов. Одна вещь, которую мы хотели бы, это хороший способ визуализации изменений изображений. Например, в Sourcetree (с Git LFS), что мы получаем при просмотре измененного изображения:
Это не особенно полезно. Можно настроить внешний инструмент сравнения и использовать ссылку "External Diff" из Sourcetree. Например, мы можем настроить TortoiseIDiff из TortoiseSVN как внешний инструмент сравнения и получить этот diff:
Это очень хорошо, но теперь мы больше не можем изменять текст «External Diff».
Другой вариант — использовать BeyondCompare, который может сравнивать текст и изображения с помощью одной и той же команды, а также показывать «изменения»:
Это довольно хорошо, и хотя это не бесплатный инструмент, это не проблема. Однако мне было интересно, нет ли лучшего способа сделать это? Может быть, клиент Git GUI, который просто обрабатывает сравнение изображений из коробки. Кажется, это довольно полезная возможность. Самое близкое, что я нашел, это Git Tower, который покажет новые изменения. Например, если посмотреть на то же изменение, что и выше, которое является неподготовленным изменением изображения, оно будет выглядеть так:
Но если вы просматриваете изменения в истории, то снова будет показан только текст git lfs diff:
Метки «OLD» и «NEW» поверх всего этого создают впечатление, что он пытается отобразить разницу в другом стиле, но, возможно, это путается с настройкой «diff=lfs», добавленной в .gitattributes при настройке проекта (я не совсем уверен, добавили ли это git LFS, Sourcetree или Bitbucket).
Буду благодарен за любые идеи. Не будет проблемой, если инструмент не бесплатный, особенно если он прекрасно справляется с этим и со всеми остальными обычными функциями git.
РЕДАКТИРОВАТЬ: Сразу после публикации этого я подумал о том, чтобы попробовать Perforce Merge (или P4Merge) в качестве внешнего инструмента для сравнения, и это на самом деле работает довольно хорошо. Он автоматически обрабатывает изменения как изображений, так и текста, и вот что я получаю, снова глядя на то же изменение изображения:
Это особенно здорово, поскольку P4Merge бесплатен :) Однако все равно было бы интересно услышать, что делают другие люди, и есть ли клиент, который может обрабатывать визуализацию изменений изображений сразу из коробки, причем внутренне, а не с помощью внешнего инструмента.
решение1
Редактировать: После этого поста я наткнулся на клиент git,Вилка, который, похоже, обрабатывает изменения образов «из коробки» и, по моему мнению, является одним из лучших клиентов git из существующих (у меня большой опыт работы только с несколькими, так что могут быть и другие), хотя он и не бесплатный.
Хорошо, вот на чем мы остановились, и это работает, и за неимением других ответов я опубликую это в качестве ответа:
Во-первых, Sourcetree на Mac, похоже, сравнивает изображения просто находит. Даже файлы .sketch, которые P4Merge на самом деле не обрабатывает, если у вас установлено приложение Sketch:
В Windows мы остановились на установке P4Merge (он же Perforce Helix Merge) в качестве внешнего инструмента для сравнения и используем его при просмотре изменений в двоичных файлах, как описано выше в редактировании вопроса. Все художники работают на Mac, поэтому в большинстве случаев они могут обойтись только двоичными различиями Sourcetree.
Мне по-прежнему очень интересны другие идеи и решения, но я подумал, что опубликую этот ответ здесь для тех, кто еще ищет информацию.