Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git Visual Studio(2017)合并工具未与Unity托管文件一起打开_Git_Visual Studio_Unity3d_Merge_Mergetool - Fatal编程技术网

Git Visual Studio(2017)合并工具未与Unity托管文件一起打开

Git Visual Studio(2017)合并工具未与Unity托管文件一起打开,git,visual-studio,unity3d,merge,mergetool,Git,Visual Studio,Unity3d,Merge,Mergetool,我目前正试图对我的Unity项目维护一些基本版本控制(git),但在尝试将vsDiffMerge设置为我的合并工具时遇到了一个问题 目前,Unity拥有自己的内部工具UnityYAMLMerge,它可能被设置为默认工具,这是因为它与引擎集成在一起。 但是,当Unityyalmerge无法自动解决冲突时,还可以指定一个“回退”合并工具,由Unity自动调用 我试图做的是将VisualStudio的vsDiffMerge设置为我的备用工具,但到目前为止,我运气不好。无论我做什么,它总是打开的Diff

我目前正试图对我的Unity项目维护一些基本版本控制(git),但在尝试将vsDiffMerge设置为我的合并工具时遇到了一个问题

目前,Unity拥有自己的内部工具UnityYAMLMerge,它可能被设置为默认工具,这是因为它与引擎集成在一起。 但是,当Unityyalmerge无法自动解决冲突时,还可以指定一个“回退”合并工具,由Unity自动调用

我试图做的是将VisualStudio的vsDiffMerge设置为我的备用工具,但到目前为止,我运气不好。无论我做什么,它总是打开的Difftool,而不是另一个

简要回顾当前情况:

1) 我已经在.gitconfig中将unityyalmmerge配置为默认的合并工具(遵循官方文档中给出的建议),我可以肯定它工作正常

2) 需要在Unity的mergespecfile中指定回退合并工具引用,我也这样做了。事情是这样的:

* use "%programs%\Microsoft Visual Studio\...\Team Explorer\vsDiffMerge.exe" "%l" "%r" "%b" "%d" /m
其中:

%l被替换为本地版本的路径

%r被替换为传入远程版本的路径

%b替换为通用基础版本

%d被替换为结果应写入的路径

在Windows上%programs%被替换为“C:\Program Files”和“C:\Program Files(x86)”,从而产生两个要尝试的条目

以上是文件中的解释


我相信我已经对vsDiffMerge的命令行参数做了相当多的搜索,并尝试了多种组合,但都不起作用。也许只是最近他们的行为方式有所改变

注意:我在遇到冲突时尝试过显式使用该工具,在.gitconfig中指定其路径,然后运行

git mergetool --tool="vsdiffmerge"
而且它是有效的(参数设置方式与上面相同)。这似乎是某种特定于“mergespecfile”的东西,但我不知道是否真的是这样

注#2:其他工具(如kdiff3)确实是这样工作的,因此这绝对不是一般问题


如果您能在这个问题上提供帮助,我将不胜感激。提前感谢。

但是为什么不想使用kdiff3呢?VisualStudio支持它非常好,您只需将CytoToMe配置指向KDIF3.EXE文件,然后它将自动按正确的顺序填写所需的<代码> %参数。除非我出错,否则您将谈到Team Foundation Server设置,因为这是用户向VS添加第三方工具的唯一方法(至少是我听说的唯一方法,如果我错了,请纠正我)。然而,据我所知,选择它作为版本控制插件会禁用git支持,这是我不想做的。