解决合并冲突
当两个分支更改相同的行时,就会发生冲突。 GitTree 的解析器并排显示两个版本,A 和 B:勾选要保留在每个冲突中的行,检查 Output,然后检查 Save 并继续合并、变基或择优挑选。
免费已更新
免费使用 GitTree:登录后的所有本地 Git 功能。
开始之前
- 合并、变基、樱桃挑选或恢复因冲突而停止:横幅如此说明并计算它们。
在哪里可以找到它
- 图表上方的横幅:Resolve。
- 在更改面板中,首先列出冲突的文件;选择一个将其打开。
| 行动 | macOS | Windows 和 Linux |
|---|---|---|
| 文件中的下一个更改 | F7 | F7 |
| 文件中之前的更改 | ⇧F7 | Shift+F7 |
步骤
决定每个冲突
对于 Conflict 1,勾选要保留在 A、B 或两者中的行。 Keeps 1 of 1 lines 确认您的选择;一旦做出决定,冲突就被标记为已解决。 Take Neither 不保留其中任何一个。
检查输出
Output 窗格显示将要保存的文件,并附有关于尚未确定的每个冲突的注释,并 Go to Conflict 跳转到那里。使用 Edit Output 手动输入修复,并使用 Show Base 查看共同祖先。
保存并继续
按 Save 写入文件并将其标记为已解决。解析每个文件后,选择横幅中的 Continue 以完成操作。
预期结果
合并(或变基步骤)根据您的解决方案完成,并且横幅消失。
更快的解决方法
- 标头中 A 或 B 旁边的框会从该侧获取文件的所有冲突。
- Undo Choice 和 Redo Choice 逐步执行您的决定,但不触及文件。
- Open in Merge Tool 将文件交给 Git 配置中的外部合并工具集。
- 启用
rerere后,Git 会重复使用您之前解决相同冲突的方法; GitTree 说 Reused resolution 并让您查看。
如果出现问题
“结果仍然存在……冲突标记线;在将它们删除之前无法保存。”
您手动编辑了输出,并留下了诸如 <<<<<<< 或 >>>>>>> 之类的行。删除它,或者决定与框冲突。
“当您解析该文件时,该文件在磁盘上发生了更改。”
另一个程序写入该文件。 GitTree 保留您之前的选择:将它们与现在的文件进行比较,将它们用作输出,或者丢弃它们。
问题
哪一边是我的?
在合并期间,A 是您当前的分支,B 是正在合并的分支;每个标头都会命名提交和分支。在变基期间,它们交换:A 是您变基到的分支,B 您的提交正在重播。
