[О блоге]
[наверх]
[пред]
[2020-05-27 20:50:27+03:00]
[535810b401ae3a23b2059399ad0cd2fa3bad175b]
Темы: [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
*** Tim Perevezentsev [2020-05-29 14:25]:
>Тогда git перестанет спрашивать и будет сразу открывать следующий файл в
>vimdiff, но в таком случае я не знаю как выйти посреди просмотра.
Вот и я первым делом выставил prompt=false, но быстро наткнулся на то,
что не знаю как прервать просмотр.