跳至内容
GitTree
合并并解决

解决合并冲突

当两个分支更改相同的行时,就会发生冲突。 GitTree 的解析器并排显示两个版本,A 和 B:勾选要保留在每个冲突中的行,检查 Output,然后检查 Save 并继续合并、变基或择优挑选。

免费已更新

免费使用 GitTree:登录后的所有本地 Git 功能。

在此页面上
  1. 开始之前
  2. 在哪里可以找到它
  3. 步骤
  4. 预期结果
  5. 更快的解决方法
  6. 如果出现问题
  7. 问题
  8. 有关的

开始之前

  • 合并、变基、樱桃挑选或恢复因冲突而停止:横幅如此说明并计算它们。

在哪里可以找到它

  • 图表上方的横幅:Resolve。
  • 在更改面板中,首先列出冲突的文件;选择一个将其打开。
行动macOSWindows 和 Linux
文件中的下一个更改F7F7
文件中之前的更改⇧F7Shift+F7

步骤

  1. 打开冲突的文件

    在横幅中选择 Resolve。解析器打开第一个冲突文件,其中包含冲突数量以及其上方的 0 of 2 conflicts resolved。

    GitTree 与 QuickOpen.tsx 的冲突解决程序:开发 (A) 和功能/搜索 (B) 之间的两个冲突以及以下输出
    每一方命名其提交和分支;下面的输出显示了该文件将包含的内容。GitTree 与演示存储库的接口。
  2. 决定每个冲突

    对于 Conflict 1,勾选要保留在 A、B 或两者中的行。 Keeps 1 of 1 lines 确认您的选择;一旦做出决定,冲突就被标记为已解决。 Take Neither 不保留其中任何一个。

  3. 检查输出

    Output 窗格显示将要保存的文件,并附有关于尚未确定的每个冲突的注释,并 Go to Conflict 跳转到那里。使用 Edit Output 手动输入修复,并使用 Show Base 查看共同祖先。

  4. 保存并继续

    按 Save 写入文件并将其标记为已解决。解析每个文件后,选择横幅中的 Continue 以完成操作。

预期结果

合并(或变基步骤)根据您的解决方案完成,并且横幅消失。

更快的解决方法

  • 标头中 A 或 B 旁边的框会从该侧获取文件的所有冲突。
  • Undo Choice 和 Redo Choice 逐步执行您的决定,但不触及文件。
  • Open in Merge Tool 将文件交给 Git 配置中的外部合并工具集。
  • 启用 rerere 后,Git 会重复使用您之前解决相同冲突的方法; GitTree 说 Reused resolution 并让您查看。

如果出现问题

“结果仍然存在……冲突标记线;在将它们删除之前无法保存。”

您手动编辑了输出,并留下了诸如 <<<<<<< 或 >>>>>>> 之类的行。删除它,或者决定与框冲突。

“当您解析该文件时,该文件在磁盘上发生了更改。”

另一个程序写入该文件。 GitTree 保留您之前的选择:将它们与现在的文件进行比较,将它们用作输出,或者丢弃它们。

问题

哪一边是我的?

在合并期间,A 是您当前的分支,B 是正在合并的分支;每个标头都会命名提交和分支。在变基期间,它们交换:A 是您变基到的分支,B 您的提交正在重播。