Git 一次为多个文件配置vsdiffmerge
我正在从()为windows使用git 1.9.4Git 一次为多个文件配置vsdiffmerge,git,visual-studio-2012,git-diff,Git,Visual Studio 2012,Git Diff,我正在从()为windows使用git 1.9.4 $git difftool branchA branchB 为diff中的所有文件一次打开一个文件 $git difftool——没有提示branchA branchB尝试一次打开所有文件(我希望发生的事情),但是vsdiffmerge无法正确处理以下任何一种情况 将打开vsdiffmerge的多个空实例 已打开的实例的“打开”选项卡将替换为差异列表中的下一个文件 如何配置difftool,使其行为成为vsdiffmerge的一个实例,并具
$git difftool branchA branchB
为diff中的所有文件一次打开一个文件
$git difftool——没有提示branchA branchB
尝试一次打开所有文件(我希望发生的事情),但是vsdiffmerge无法正确处理以下任何一种情况
- 将打开vsdiffmerge的多个空实例
- 已打开的实例的“打开”选项卡将替换为差异列表中的下一个文件
[diff "astextplain"]
textconv = astextplain
[rebase]
autosquash = true
[diff]
tool = vsdiffmerge
[difftool]
prompt = true
[difftool "vsdiffmerge"]
cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio 11.0\\Common7\\IDE\\vsdiffmerge.exe\" \"$LOCAL\" \"$REMOTE\" //t
keepbackup = false
trustexistcode = true
[merge]
tool = vsdiffmerge
[mergetool]
prompt = true
[mergetool "vsdiffmerge"]
cmd = \"C:\\Program Files (x86)\\Microsoft Visual Studio 11.0\\Common7\\IDE\\vsdiffmerge.exe\" \"$REMOTE\" \"$LOCAL\" \"$BASE\" \"$MERGED\" //m
keepbackup = false
trustexistcode = true
答案是,删除结尾处的
/t
(或/t
,因为转义)
参数/t
打开一个临时选项卡。这是被替换的选项卡。如果没有此参数,Visual Studio将打开一个永久选项卡,并将其添加到已打开的其他选项卡中
另请参见此处:PS:尽管最后我删除了
/t
,但对我来说,差异仍然是在一个临时选项卡中打开的。这样做的原因——至少在我的例子中——是Visual Studio或Git忽略了工具vsdiffmerge
中的所有设置。在我重新命名工具后,一切都按预期工作
因此,我建议将该工具重命名为类似于vsdiff
,删除/t
,然后重试
别忘了像调用
git difftool-t vsdiff一样调用它——没有提示branchA branchB
来显式使用名为vsdiff
的工具,或者将vsdiff
设置为默认工具。非常想知道怎么做!我忘记了空的实例。据我所知,每当git试图区分两边都不存在的文件时,Visual Studio就会打开一个空实例,就像添加或删除文件一样。