gpt4 book ai didi

c# - 如何将视觉冲突解决(P4Merge)集成到SourceTree中

转载 作者:IT王子 更新时间:2023-10-29 00:54:53 28 4
gpt4 key购买 nike

很长一段时间以来,我一直为 SourceTree 缺乏可用的冲突解决方案而苦恼。

应该有一个将 p4Merge 或其他差异/merge 工具集成到 SourceTree 的过程。目前,p4Merge 是我选择的工具;现在我只需要想办法

  1. 让 SourceTree 接受 p4Merge 作为它的 merge/差异工具,并且
  2. 能够实际从 SourceTree 调用 p4Merge 来解决冲突。

到目前为止,我唯一成功的事情就是让 P4Merge 在 SourceTree 中显示差异。因此,Actions/External Diff 菜单项有效,但 Actions/Resolve Conflicts/Launch External Merge Tool 菜单项无效(显示为灰色)。

enter image description here

我在 SourceTree 的 Tools/Options/Diff 选项卡中为 Diff 工具和 Merge 工具选择了 P4Merge。我不能在这两个命令行框中输入任何内容(即使我知道该输入什么),因为它们也是灰色的。

picture of Options/Diff dialog

我如何使它工作?

SourceTree 的版本为 1.9.5.0,在撰写本文时应该是最新的。 P4Merge 似乎没有帮助/关于对话框,但它是最近安装的(最近 3 个月内)。

最佳答案

我有 SourceTree 版本 1.5.2.0,我配置了外部 merge 工具,如屏幕截图所示。 P4Merge 安装在 C:\Program Files\Perforce 中并且不在 Path 中。关于 diff/merge 工具,我没有在 .gitconfig 中设置任何特定值(我意识到这是一种“在我的机器上工作的答案”,但它确实如此简单)。

here is how I configured external merge tool

至于工作流程,不同的团队可能有不同的方法。我们在团队中为每个功能工作(通常仅由一个开发人员完成)所做的工作如下(有关如何在 SourceTree 中执行每个操作的屏幕截图在帖子末尾):

  1. Rebase 开发分支
  2. 创建新的功能分支
  3. 致力于一项功能,进行提交(通常是多次)
  4. 如果在完成分支后有很多更改需要开发,我们可以将开发 merge 到我们的功能分支以解决任何潜在的冲突并确保功能仍然有效
  5. merge 开发分支,然后推送 - 我们的 CI 配置为在将新更改推送到开发分支时触发部署到测试环境
  6. 如果一切顺利,我们将 develop 分支 merge 到 master 分支,这将触发部署到生产环境

rebase 开发: enter image description here

要从 develop 中创建新的分支: enter image description here

将开发 merge 到功能分支:

enter image description here

这是 SourceTree 显示 merge 后存在冲突的方式: enter image description here

更新:为了验证SourceTree是否配置正确,建议您进行如下操作:

  1. https://1drv.ms/u/s!Ahrx2cBEbNLOy1xsUNuZJrUe80Ox 下载并在本地解压缩一个包含两个分支的小型存储库
  2. 通过执行以下命令将此存储库添加到 SourceTree:文件 - 克隆/新建... - 添加工作副本 - [选择文件夹“git-config”]
  3. 右键单击名称为“origin/version-2”的分支并选择“merge ”
  4. 您应该会看到有关 merge 冲突的警告,然后在右键单击 file.txt 后,应该会出现以下内容:

enter image description here

关于c# - 如何将视觉冲突解决(P4Merge)集成到SourceTree中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38727275/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com