Узнал про git difftool команду

Что: 535810b401ae3a23b2059399ad0cd2fa3bad175b

Когда: 2020-05-27 20:50:27+03:00

Темы: git tip

Узнал про git difftool команду

Которая просто сохраняет старые версии файла во временный файл и
натравливает на него и более свежий заданную утилиту, например vimdiff.
Так в Vim-е можно смотреть на коммиты полноценно, но только пофайлово.

Но для меня fugitive оно не заменяет. В нём, всегда можно нажать "C" и
ты попадёшь на объект коммита, в котором можно ходить по деревьям (tree)
и открывать файлы даже которые не попали в "патч" коммита. difftool для
каждого файла задаст вопрос хочу ли я его открыть, а в fugitive нажав
"C" я снова попаду на коммит и перемещусь на любой файл какой надо.
Хочется полностью увидеть старую версию файла до применения коммита:
просто нажать CR на "-" строке патча. Новую версию: на "+" строке.
Открыть файл сразу в vimdiff режиме со старой версией: нажать на diff
строке файла. Для меня всё же удобнее и быстрее.

И заменить его :Gdiff пока нечем в Vim-е. git add -p команда не так
удобна, особенно когда нужно добавить/отредактировать то, что не
умещается целиком в hunk. Без fugitive я пока не понимаю как достичь
такого же результата. difftool позволяет на изменённый (tracked,
modified) файл показать vimdiff, однако dp/do не приводят же к
добавлению hunk-а в индекс.

оставить комментарий

комментарий 0:

From: Tim Perevezentsev
Date: 2020-05-29 11:43:35Z

> ... difftool для каждого файла задаст вопрос хочу ли я его открыть ...

  $ git config set difftool.prompt false

Тогда git перестанет спрашивать и будет сразу открывать следующий файл в
vimdiff, но в таком случае я не знаю как выйти посреди просмотра.
Напротив, когда git спрашивает будем ли мы смотреть следующий файл,
можно выйти при помощи Ctrl-C.

комментарий 1:

From: Sergey Matveev
Date: 2020-05-29 11:56:20Z


>Тогда git перестанет спрашивать и будет сразу открывать следующий файл в
>vimdiff, но в таком случае я не знаю как выйти посреди просмотра.

Вот и я первым делом выставил prompt=false, но быстро наткнулся на то,
что не знаю как прервать просмотр.

Сгенерирован: SGBlog 0.34.0