git diff ...
показывает разницу, но в терминале.
Мне нужен графический интерфейс для визуализации файлов git diff ...
.
Насколько я пытался git diff ... | kompare -
. Это работает, но показанный контекст - это только то, что доступно из .diff, а не полное содержимое файла.
Вероятно, было бы лучше иметь возможность видеть полное содержимое файла в визуализаторе различий.
Я могу дважды проверить репозиторий Git, дважды экспортировать и сравнить с помощью инструмента сравнения с графическим интерфейсом (например, Kompare). Но это обременительно. Вы знаете лучший способ сделать это? Наконец, я мог бы попробовать сценарий оболочки, который выполняет две проверки и два экспорта во временный каталог, но это не лучшее возможное решение.
Сам Git поставляется с gitk для просмотра репозитория (который включает в себя отображение различий между тем, что вы уже зафиксировали), gitgui и git difftool [который позволяет вам выбрать один из инструментов слияния, присутствующих в вашей системе]. Что я лично использую, так это Gitcola , который я считаю довольно удобным:
Gitcola (источник: Gitcola ; щелкните изображение, чтобы увеличить)
Он обрабатывает не только часть diff, но и большинство других действий, которые вам нужны в вашем повседневном рабочем процессе (фиксация, отправка, извлечение, создание тегов и т. д.).
В качестве альтернативы вы можете взглянуть на 6 полезных графических клиентов Git для Linux .
Также обратите внимание, что если вас не устраивает встроенный инструмент сравнения, вы всегда можете настроить внешний. Очень хорошим кандидатом для этого был бы Meld , который обычно доступен прямо из стандартных репозиториев большинства дистрибутивов:
Мелд (источник: Мелд )
Обратите внимание, что такому внешнему инструменту сравнения не нужно знать о Git, поскольку взаимодействие с репозиторием покрывается Git Cola , а инструмент сравнения должен просто визуализировать различия, переданные ему Git Cola.
gitk
показывает только графическое представление деревьев ветвей, и хотя это очень полезно, отображаемые различия выглядят почти так же, как в командной строке. Я что-то упускаю?gitk
был просто кульминационный момент, и мой ответ скорее рекомендует Gitcola? :)git diff
в командной строке, поэтому Gitcola не дает мне особых преимуществ. Но, возможно, не все терминалы поддерживают цвет, особенно пользователи Windows, так что да, я вижу, это шаг вперед. Но я полагаю, что понял «графическое представление» как вид параллельного вывода с прокруткой разной длины, который SmartGit, в ответе @Tom, предоставляет, а также различные IDE. Но спасибо за разъяснения и острые ощущения от клиффхэнгера. 😉meld
, что идеально подходит под ваши пожелания, см., например, этот скриншот . Там обновил мой ответ. Счастливее? :)--dir-diff
для получения всего каталога, в противном случае git запрашивает файл за файлом, хотите ли вы отобразить различия: git difftool --tool=meld --dir-diff develop
. Одна из особенностей, которая мне нравится, заключается в том, что она не делает подсветку синтаксиса, что делает более ясным, где находятся изменения.Я бы проверил SmartGit, он должен делать все, что вы хотите. Он доступен не только для Linux, но и для Windows и Mac. Он довольно прост в использовании и бесплатен для некоммерческих проектов.
SmartGit — это интерфейс для распределенной системы управления версиями Git, работающий в Windows, Mac OS X и Linux. SmartGit предназначен для разработчиков, которые предпочитают графический пользовательский интерфейс клиенту командной строки, чтобы быть еще более продуктивными с Git — самой мощной DVCS на сегодняшний день.
* Для некоммерческой работы
Новый ответ на старый вопрос, но я вынужден. Еще один отличный вариант — GitLens.
Вчера обнаружил, что покидаю VCS другой IDE и вместо этого устанавливаю vscodium, чтобы использовать GitLens. То, как он контекстно перемещается к файлу, который вы открыли в редакторе, и представляет глубокую историю коммитов, является чистым блестящим удобством.
Николя Рауль
Портон
фуклв
git difftool --help
и посмотрите список поддерживаемых