Vimdiff между текущей и предыдущей версией файла git файла

Есть ли способ использовать vimdiff для сравнения текущей версии файла и того же файла n git версии назад?

Например, я работаю над файлом foo.c на ветке мастер. Я хотел бы сделать vimdiff между foo.c и foo.c от master ~ 10, чтобы скопировать одну или две строки по сравнению со старой версией.

PS Я знаю git вишневый выбор, но для целых файлов, а не только для нескольких строк.

Ответы

Ответ 1

Duh! RTFM. Я добавил PPS об этом, не являющемся прецедентом для git difftool, затем начал задаваться вопросом, что именно делает git diffftool do... ".

Решение:

git difftool master master~10 -- foo.c

То есть, предположим, что diffftool уже настроен правильно в ~/.gitconfig:

[diff]
  tool = vimdiff
[difftool]
  prompt = false

Ответ 4

Решение, которое работает без переопределения конфигурации git, будет

vimdiff file.tex <( git show master~2:file.tex )