如何直观地解决SourceTree中的rebase冲突

时间:2017-05-23 05:13:00

标签: git rebase atlassian-sourcetree

我正在使用SourceTree for Windows并尝试使用SourceTree完全 rebase 。我想对文件进行可视化解析。我不明白如何设置配置,以便git -rebase将使用SourceTree中的Launch external merge tool命令弹出diffmerge窗口 这可能吗?如果有可能,配置是什么?

我的 .gitconfig 文件如下所示

[merge]
        tool = diffmerge
[diff]
        tool = diffmerge
[difftool "diffmerge"]
        cmd = diffmerge \"$LOCAL\" \"$REMOTE\"
[difftool "sourcetree"]
    cmd = 'C:/DiffMerge_4_2_0_697_stable_x64/sgdm.exe' \"$LOCAL\" \"$REMOTE\"
[mergetool "sourcetree"]
    cmd = 'C:/DiffMerge_4_2_0_697_stable_x64/sgdm.exe' -merge -result=\"$MERGED\" \"$LOCAL\" \"$BASE\" \"$REMOTE\"
    trustExitCode = true

2 个答案:

答案 0 :(得分:0)

你可能意味着SourceGear而不是Sourcetree吗?列出的路径指向SourceGear DiffMerge。

Windows上的Git需要配置以匹配此页面上发布的内容才能启动diffmerge:http://www.sourcegear.com/diffmerge/webhelp/sec__git__windows__github.html

之后,如果您的所有文件都在磁盘上,您可以直接调用DiffMerge,也可以使用git diff然后在选项中指定工具。在SourceGear的论坛上查看这篇文章:https://support.sourcegear.com/viewtopic.php?f=33&t=22329&p=77867#p77867

答案 1 :(得分:0)

您希望像您这样的声音能够解决冲突,但看不到吗?

  • 如果是这样,则可能是由于您打开SourceTree bug而导致的行为。

    (在交互式变基过程中,遇到合并冲突时似乎会“停止”,“挂起”,“停止”。)

这是一个解决方案:

  1. 请勿单击消息对话框上的Close按钮。 右键单击任务栏按钮并单击关闭,以关闭SourceTree

  2. 重新打开SourceTree,解决冲突并提交。 (提交消息必须手动输入-另一个错误。)

  3. 单击Actions> Continue Rebase

(对于其他冲突,请重复上述步骤1至3)