git diff
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 02.01.18 20:24
Оценка:
Коллеги, а чем вы смотрите списки изменений в git на Linux?

Вот хочу я, к примеру, перед отправкой на код-ревью еще разок свои изменения прошерстить. Пользуюсь либо "git diff", либо "git difftool" (у меня оно прикручено к Meld), но первый вариант чисто консольный, а второй вариант выдает мне файлы поочередно, один за другим. А мне удобнее видеть сразу все дерево изменений, чтоб я мог открывать файлы в произвольном порядке, видеть полный список затронутых файлов, переходить между ними произвольное количество раз и т.д. Можно как-нибудь прикрутить такое?

Пока на уме крутится какая-нибудь своя скриптовая обертка поверх git difftool, чтоб сначала затолкать все файлы из списка в какой-нибудь временный файл и потом уже вызвать Meld для всего списка. Но может можно как-то обойтись без велосипедостроения?

Щупал gitg — ближе к тому, что хочется, но оно показывает лишь небольшой "контекст" изменений, несколько строк до и после. А мне для счастья нужно чтоб весь файл и чтоб в две панели (как Meld).
С уважением, Artem Korneev.
Re: git diff
От: koenjihyakkei Россия  
Дата: 02.01.18 20:30
Оценка:
Здравствуйте, Artem Korneev, Вы писали:

gitk например
Re: git diff
От: A13x США  
Дата: 02.01.18 20:53
Оценка:
Здравствуйте, Artem Korneev, Вы писали:

AK>Коллеги, а чем вы смотрите списки изменений в git на Linux?


AK>Вот хочу я, к примеру, перед отправкой на код-ревью еще разок свои изменения прошерстить. Пользуюсь либо "git diff", либо "git difftool" (у меня оно прикручено к Meld), но первый вариант чисто консольный, а второй вариант выдает мне файлы поочередно, один за другим. А мне удобнее видеть сразу все дерево изменений, чтоб я мог открывать файлы в произвольном порядке, видеть полный список затронутых файлов, переходить между ними произвольное количество раз и т.д. Можно как-нибудь прикрутить такое?


AK>Пока на уме крутится какая-нибудь своя скриптовая обертка поверх git difftool, чтоб сначала затолкать все файлы из списка в какой-нибудь временный файл и потом уже вызвать Meld для всего списка. Но может можно как-то обойтись без велосипедостроения?


AK>Щупал gitg — ближе к тому, что хочется, но оно показывает лишь небольшой "контекст" изменений, несколько строк до и после. А мне для счастья нужно чтоб весь файл и чтоб в две панели (как Meld).


если с консолью религия позволяет работать можно и так

git diff | vim -


vim по крайней мере в недавних версиях вполне хорошо показывает изменения с подсветкой. Если две панели край как нужны, то это не подойдет, впрочем мне подсветки хватает, чтобы бегло пробежаться по сути изменений.
Ну а если панели нужны — git difftool с установленным diff.tool=vimdiff показывает две панели, wq позволяет переключатся на следующее изменения — можно убрать промпт показывающий Y/n для каждого изменения -- difftool.prompt=false
Отредактировано 02.01.2018 20:58 A13x . Предыдущая версия .
Re: git diff
От: Zhendos  
Дата: 02.01.18 21:19
Оценка: +1
Здравствуйте, Artem Korneev, Вы писали:

AK>Коллеги, а чем вы смотрите списки изменений в git на Linux?


AK>Вот хочу я, к примеру, перед отправкой на код-ревью еще разок свои изменения прошерстить. Пользуюсь либо "git diff", либо "git difftool" (у меня оно прикручено к Meld), но первый вариант чисто консольный, а второй вариант выдает мне файлы поочередно, один за другим. А мне удобнее видеть сразу все дерево изменений, чтоб я мог открывать файлы в произвольном порядке, видеть полный список затронутых файлов, переходить между ними произвольное количество раз и т.д. Можно как-нибудь прикрутить такое?


AK>Пока на уме крутится какая-нибудь своя скриптовая обертка поверх git difftool, чтоб сначала затолкать все файлы из списка в какой-нибудь временный файл и потом уже вызвать Meld для всего списка. Но может можно как-то обойтись без велосипедостроения?


AK>Щупал gitg — ближе к тому, что хочется, но оно показывает лишь небольшой "контекст" изменений, несколько строк до и после. А мне для счастья нужно чтоб весь файл и чтоб в две панели (как Meld).


emacs+magit по-моему самый лучший gui для git,
для этого конкретного случая:


magit показывает список измененных файлов включенных
и не включенных в commit, нажимаешь tab на нем,
и можно увидеть изменения нажимаем tab на следующем видим
уже изменения в двух файлах одновременно и т.д.
Re: git diff
От: aik Австралия  
Дата: 02.01.18 23:57
Оценка:
Здравствуйте, Artem Korneev, Вы писали:

AK>Коллеги, а чем вы смотрите списки изменений в git на Linux?


git citool
Re: git diff
От: andrey.desman  
Дата: 02.01.18 23:59
Оценка: 4 (1)
Здравствуйте, Artem Korneev, Вы писали:

AK>Пока на уме крутится какая-нибудь своя скриптовая обертка поверх git difftool, чтоб сначала затолкать все файлы из списка в какой-нибудь временный файл и потом уже вызвать Meld для всего списка. Но может можно как-то обойтись без велосипедостроения?


Опцией -d для difftool?
Re: git diff
От: WolfHound  
Дата: 27.01.18 00:07
Оценка: +1
Здравствуйте, Artem Korneev, Вы писали:

Ставим https://github.com/gitextensions/gitextensions/wiki/Git-Extensions-on-Linux-Mono
И забываем про консоль и прочий ужос раз и навсегда.
Я на линуксе его не пробовал. Но под виндой отлично работает.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: git diff
От: WolfHound  
Дата: 27.01.18 00:08
Оценка:
Здравствуйте, Artem Korneev, Вы писали:

Ставим https://github.com/gitextensions/gitextensions/wiki/Git-Extensions-on-Linux-Mono
И забываем про консоль и прочий ужос раз и навсегда.
Я на линуксе его не пробовал. Но под виндой отлично работает.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re: git diff
От: WolfHound  
Дата: 27.01.18 00:08
Оценка:
Здравствуйте, Artem Korneev, Вы писали:

Ставим https://github.com/gitextensions/gitextensions/wiki/Git-Extensions-on-Linux-Mono
И забываем про консоль и прочий ужос раз и навсегда.
Я на линуксе его не пробовал. Но под виндой отлично работает.
... << RSDN@Home 1.0.0 alpha 5 rev. 0>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[2]: git diff
От: · Великобритания  
Дата: 09.02.18 11:46
Оценка:
Здравствуйте, Zhendos, Вы писали:

Z>magit показывает список измененных файлов включенных

Z>и не включенных в commit, нажимаешь tab на нем,
Z>и можно увидеть изменения нажимаем tab на следующем видим
Z>уже изменения в двух файлах одновременно и т.д.
Прошлый век же... IntelliJ IDEA:

но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[3]: git diff
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 12.02.18 20:12
Оценка:
Здравствуйте, ·, Вы писали:

·>Прошлый век же... IntelliJ IDEA:


Как получить в IntelliJ IDEA все дерево изменений?
По одному файлу мне неудобно просматривать. Сейчас, с подсказкой
Автор: andrey.desman
Дата: 03.01.18
andrey.desman, я открыл для себя такую команду:

git difftool -d master...


В качестве difftool у меня настроен Meld и в результате я вижу именно то, что надо — все дерево изменений, где я могу тыкать отдельные файлы, смотреть, возвращаться к ним повторно и т.д. Из мелких неудобств — то, что нужно добавить и локально закоммитить все изменения перед вызовом. Но это вроде терпимо.
С уважением, Artem Korneev.
Re[4]: git diff
От: · Великобритания  
Дата: 12.02.18 21:11
Оценка: 6 (1)
Здравствуйте, Artem Korneev, Вы писали:

AK>·>Прошлый век же... IntelliJ IDEA:

AK>Как получить в IntelliJ IDEA все дерево изменений?
Так это вроде всегда было. Справа внизу окошечко над "7". Или ты что-то другое имеешь в виду?
но это не зря, хотя, может быть, невзначай
гÅрмония мира не знает границ — сейчас мы будем пить чай
Re[5]: git diff
От: Artem Korneev США https://www.linkedin.com/in/artemkorneev/
Дата: 01.03.18 21:45
Оценка: :)
Здравствуйте, ·, Вы писали:

AK>>Как получить в IntelliJ IDEA все дерево изменений?

·>Так это вроде всегда было. Справа внизу окошечко над "7". Или ты что-то другое имеешь в виду?

Да, похоже на то что нужно. Не знал, про это окошко.
С уважением, Artem Korneev.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.