首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么我不能使用TortoiseMerge作为我在Windows上的git合并工具?

为什么我不能使用TortoiseMerge作为我在Windows上的git合并工具?
EN

Stack Overflow用户
提问于 2011-03-04 05:50:44
回答 5查看 44.2K关注 0票数 47

我正在尝试执行我的第一次Git合并(令人兴奋!),但无法让Git (0.13.GITGUI从Git 1.7.4.msysgit.0)在Windows7上识别TortoiseMerge (1.6.11.20210 x64)。基于an answer to a similar question,我做了以下配置更改:

代码语言:javascript
复制
$ git config --global merge.tool tortoisemerge
$ git config --global mergetool.tortoisemerge.cmd 'TortoiseMerge.exe -base:"$BASE" -mine:"$LOCAL" -theirs:"$REMOTE" -merged:"$MERGED"'
$ git config --global --list
...snip...
merge.tool=tortoisemerge
mergetool.tortoisemerge.cmd=TortoiseMerge.exe -base:"$BASE" -mine:"$LOCAL" -theirs:"$REMOTE" -merged:"$MERGED"
$

不幸的是,当我启动Git并尝试“运行合并工具”时,我会收到错误Unsupported merge tool 'tortoisemerge'

有人能告诉我我做错了什么吗?以下是我的~/.gitconfig的相关部分

代码语言:javascript
复制
[merge]
        tool = tortoisemerge
[mergetool "tortoisemerge"]
        cmd = TortoiseMerge.exe -base:\"$BASE\" -mine:\"$LOCAL\" -theirs:\"$REMOTE\" -merged:\"$MERGED\"

更新

当从命令行运行TortoiseMerge时,git mergetool可以很好地处理上面的配置。似乎只有Git Gui有问题。*-/

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-04-13 03:58:22

如果您有最新的git,请运行以下命令行一次:

git config merge.tool tortoisemerge

重要:不向命令添加.exe扩展。

如果失败,或者如果要添加git不知道的其他合并工具,请执行以下操作:

在编辑器中打开以下内容之一:

64位git:C:\Program Files\Git\mingw64\share\git-gui\lib\mergetool.tcl

  • 32-bit git:C:\Program Files (x86)\Git\share\git-gui\lib\mergetool.tcl

在mergetool.tcl中添加如下内容:

代码语言:javascript
复制
tortoisemerge {
    set cmdline [list TortoiseMerge.exe -base:"$BASE" -mine:"$LOCAL" -theirs:"$REMOTE" -merged:"$MERGED"]
}

将新的乌龟出现条目置于其他代码之上:

代码语言:javascript
复制
default {
        error_popup [mc "Unsupported merge tool '%s'" $tool]
        return
}

奖金示例:

若要使用SourceGear扩散,请将其添加到mergetool.tcl:

代码语言:javascript
复制
diffmerge {
    set cmdline [list "C:/Program Files (x86)/SourceGear/DiffMerge/DiffMerge.exe" --merge --result=$MERGED $LOCAL $BASE $REMOTE]
}
票数 59
EN

Stack Overflow用户

发布于 2011-03-04 06:02:20

试试这个:

代码语言:javascript
复制
[merge]
tool = tortoise

[mergetool "tortoise"]
cmd = "TortoiseMerge.exe" -base:"$BASE" -theirs:"$REMOTE" -mine:"$LOCAL" -merged:"$MERGED"

来源:http://programmersunlimited.wordpress.com/2010/07/01/getting-git-to-use-tortoisemerge/

票数 16
EN

Stack Overflow用户

发布于 2013-10-31 15:54:00

对于我正在研究的情况,合并工具已经被设置为乌龟出现,但它找不到它。

提供在Windows中工作的完全合格的位置:

代码语言:javascript
复制
git config --global mergetool.tortoisemerge.cmd "\"C:\\Program Files\\TortoiseGit\\bin\\TortoiseGitMerge.exe\" -base:\"$BASE\" -mine:\"$LOCAL\" -theirs:\"$REMOTE\" -merged:\"$MERGED\""
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5190188

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档