在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

也许不完全是完全相同的效果。(也许"恰好"。:-))而不是使用git config diff.tool sometool更改持久的本地配置,而只需更改用于此git命令的配置,例如git -c diff.tool=sometool difftool ...

您的任何更改都可以使用git config name value永久制作,您可以在一个Git命令的持续时间内使用git -c name=value暂时进行。

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

只是在这里添加它以进行内存,因为它也从技术上回答了问题。

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

参见-tool(doc)。

最新更新