相关疑难解决方法(0)

Git:配置difftool和mergetool的模式

在Mercurial中,可以为外部差异和合并工具定义模式(以便仅为匹配指定模式的文件调用它们):

[diff-patterns]
**.ext = difftool
[merge-patterns]
**.ext = mergetool
Run Code Online (Sandbox Code Playgroud)

如何在Git中定义这样的模式?

git-config(1)中的[mergetool]部分未提及任何模式,掩码或任何类似的模式.

编辑:

这是我的.git/config的相关部分:

[diff]
    tool = difftool
[difftool "difftool"]
    cmd = difftool.git.sh "$LOCAL" "$REMOTE" "$BASE"

[merge]
    tool = mergetool
[mergetool "mergetool"]
    cmd = mergetool.git.sh "$LOCAL" "$REMOTE" "$BASE" "$MERGED"
Run Code Online (Sandbox Code Playgroud)

现在它适用于所有文件.

我希望为名称以.结尾的文件调用difftool和mergetool.ext

编辑:

我添加了一个文件.git/info/attributes,其中包含以下内容:

*.ext   diff=difftool
*.ext   merge=mergetool
Run Code Online (Sandbox Code Playgroud)

我还补充道

[diff "difftool"]
    name = my custom diff driver
    driver = difftool.git.sh %A %B %O
[merge "mergetool"]
    name = my custom merge driver
    driver = mergetool.git.sh %A %B %O …
Run Code Online (Sandbox Code Playgroud)

git mercurial mergetool difftool

6
推荐指数
1
解决办法
1361
查看次数

标签 统计

difftool ×1

git ×1

mercurial ×1

mergetool ×1