在git diff调用中动态设置其他diff工具

时间:2019-03-01 18:33:20

标签: git git-diff

即使在调用git diff时,即使使用shell变量,也可以动态设置其他差异工具吗?

我的意思不是更改(持久)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 :(得分:2)

也许不完全相同,但是您可以获得完全相同的效果。 (也许“完全”。:-))而不是使用git config diff.tool sometool更改持久本地配置,只需使用此Git命令更改配置即可。 ,例如git -c diff.tool=sometool difftool ...

可以使用git config name value永久进行的任何更改,也可以使用git -c name=value进行临时更改,并且持续一个Git命令。

编辑:请注意git difftool本身有一个-t tool参数,因此这个特定示例有点愚蠢。我只是在这里使用它来展示-c name=value技巧的工作原理。

答案 1 :(得分:0)

只需将其添加到此处以存储内存,因为它从技术上也回答了这个问题。

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

请参见--tool(文档)。