Динамическая установка другого инструмента сравнения при вызове git diff - PullRequest
0 голосов
/ 01 марта 2019

Можно ли динамически установить другой инструмент сравнения при вызове git diff, даже используя переменные оболочки?

Я не имею в виду изменение (сохранение) конфигураций git-config, но изменение его при«время вызова», например:

$ git diff oldbranch --diff-tool=path-to-my-diff-tool
$ GIT_DIFF_TOOL=path git diff oldbranch
$ export GIT_DIFF_TOOL=path; git diff oldbranch

Ответы [ 2 ]

0 голосов
/ 01 марта 2019

Просто добавьте его сюда для памяти, поскольку он также технически отвечает на вопрос.

git difftool --tool='sometool' <branch>
# or
git difftool -t 'sometool' <branch>

См. - инструмент (doc).

0 голосов
/ 01 марта 2019

Может быть, не совсем, но вы можете получить точно такой же эффект.(Возможно, что равно «точно». :-)) Вместо изменения постоянной локальной конфигурации с помощью git config diff.tool sometool, просто измените конфигурацию, используемую для этой команды Git , например, git -c diff.tool=sometool difftool ....

Любое изменение, которое вы могли бы сделать постоянно с помощью git config name value, вы можете временно сделать с помощью git -c <em>name</em>=<em>value</em> на время действия одной команды Git.

Редактировать: обратите внимание, что git difftool сам по себе имеет аргумент -t <em>tool</em>, поэтому этот конкретный пример немного глуп.Я просто использую его здесь, чтобы показать, как работает трюк -c <em>name</em>=<em>value</em>.

...