如何以交互方式(可视化)解决SourceTree/git中的冲突
我正在为我的git项目使用(Windows)SourceTree。我可以在命令提示符或Linux终端中完成 但是,我想知道是否有一个很好的方式来交互和可视化地解决冲突。例如,如果pull检测到冲突,则会弹出一个基于GUI的冲突工具(例如P4Merge)。可能吗 我总是手工解决冲突,这很痛苦 例如,这是来自SourceTree的git如何以交互方式(可视化)解决SourceTree/git中的冲突,git,git-merge,merge-conflict-resolution,atlassian-sourcetree,Git,Git Merge,Merge Conflict Resolution,Atlassian Sourcetree,我正在为我的git项目使用(Windows)SourceTree。我可以在命令提示符或Linux终端中完成 但是,我想知道是否有一个很好的方式来交互和可视化地解决冲突。例如,如果pull检测到冲突,则会弹出一个基于GUI的冲突工具(例如P4Merge)。可能吗 我总是手工解决冲突,这很痛苦 例如,这是来自SourceTree的gitpull消息 git -c diff.mnemonicprefix=false -c core.quotepath=false pull --no-commit or
pull
消息
git -c diff.mnemonicprefix=false -c core.quotepath=false pull --no-commit origin master
From W:\repo\
* branch master -> FETCH_HEAD
Updating 33c07bf..41e0249
error: Your local changes to the following files would be overwritten by merge:
foo.cpp
goo.cpp
goo.hpp
Please, commit your changes or stash them before you can merge.
Aborting
Completed with errors, see above.
在SourceTree中,单击工具->选项。然后在“常规”选项卡上,确保选中允许SourceTree修改Git配置文件的复选框 然后切换到“差异”选项卡。在下半部分,使用下拉列表选择要用于进行差异和合并的外部程序。我已经安装好了,非常喜欢它。完成后,单击“确定”
现在,当有合并时,您可以在“操作->解决冲突->启动外部合并工具”下进行操作。我正在使用SourceTree和TortoiseMerge/Diff,这是一个非常简单方便的Diff/merge工具 如果您也想使用它,那么:
tortoisediff.exe
和tortoisediff.exe
解压缩到任何文件夹(c:\ProgramFiles(x86)\Atlassian\SourceTree\extras\
,在我的例子中)Tools>Options>Diff>External Diff/Merge
。在两个下拉列表中选择tortoiser
OK
并将SourceTree指向您的tortoisediff.exe
和tortoiseemerge.exe
位置解决冲突>启动外部合并工具
。这将打开乌龟出现,在那里你可以轻松地处理所有的冲突,你有。一旦完成,只需关闭TurtoisEmerge(您甚至不需要保存更改,这可能会自动完成),几秒钟后SourceTree将优雅地处理该操作
唯一的问题是,它会自动创建备份副本,即使。当“解决冲突->内容”菜单被禁用时,其中一个可能位于“挂起的文件”列表中。我们需要从下拉列表(顶部)中选择冲突文件选项
希望它能有所帮助我尝试过这个,但最后,我看不到比这更令人满意的产品被推出。我看到正在生成比较文件,但仅此而已。我无法解决冲突。将此更改为标准/默认比较似乎也没有帮助。@echiban您可能拥有Beyond compare的标准许可证,该许可证不接受三向合并。您需要使用专业版将其用作git MergeTool在完成所有配置步骤后,“启动外部合并工具”对我来说仍然是灰色的,无法激活它。因此,我没有选择合并冲突文件,一旦我选择了合并冲突文件,它就变好了,我必须单击提交列表中的“未限制的更改”项,然后它才会变灰。