冲突集
冲突集是 ABDiff 对 Git 工作树中所有未合并文件的仓库级视图。在应用中,它显示为 冲突 边栏。
你不必在多个独立窗口中逐个文件解决冲突,而是可以在一个位置检查完整集合并快速在文件之间移动。
要从终端打开:
git mergetool另一种方式:
abd conflicts --repo /path/to/repo布局
- 左侧边栏列出仓库中未合并的路径。
- 当 Git 暴露 merge 的两侧时,顶部副标题会以短哈希显示两个冲突的修订版本。
- 选择一行会在右侧打开匹配的详情视图。
- 文本文件会在三方合并视图中打开。
- 图像、视频、Mach-O 二进制和其他二进制文件会在匹配的比较视图中打开。
- 底部筛选器会按文件名、相对路径或文件种类缩小可见列表。
在冲突中移动
当冲突边栏具有焦点时:
- 按 上箭头 或 下箭头 在可见行之间移动。详情视图会切换到所选文件。
- 按 Return 或 空格 激活所选行。
- 当所选文件支持嵌入式键盘导航时,按 右箭头 将键盘焦点移入详情视图。
- 从具有键盘焦点的文本、二进制或 Mach-O 详情视图中,按 左箭头 可将焦点返回冲突边栏。
筛选会改变箭头键移动的行。如果当前选择被筛掉,下一次箭头或激活动作会使用第一个可见行。
行菜单
右键点按任意行以打开行菜单:
- 采用本方版本解决 将 ours 一侧写入冲突文件,并将该行标记为已解决。
- 采用对方版本解决 将 theirs 一侧写入冲突文件,并将该行标记为已解决。
- 标记为已解决 保留当前工作树内容,并将该行标记为已解决。
- 丢弃合并草稿 只会在该行有未保存的文本合并草稿时出现。
- 显示文件信息 打开该冲突文件的元数据。
已解决的行会保留可见并带有勾选标记。它们的行菜单仍会提供解决操作,因此你可以在完成 Git merge 之前更改已选择的解决方式。
ABDiff 何时使用它
如果 Git 为某个冲突文件启动 ABDiff,并且仓库中仍有多个未合并路径,ABDiff 可以将该文件放在冲突外壳中,而不是打开独立的合并窗口。请求的文件会被预先选中,因此你可以立即继续。
你也可以直接从终端打开同一个仓库级视图:
abd conflicts --repo /path/to/repo解决文件
- 对于文本冲突,只有结果窗格可编辑。
- 在合并视图中使用 采用本方版本解决 或 采用对方版本解决,也可以使用边栏行菜单中的文件级操作。
- 外部更改后,使用 文件 > 刷新冲突 重新读取仓库冲突状态。
- 保存文件即可将已解决结果写回磁盘。
空状态
当仓库不再报告未合并条目时,ABDiff 会保持外壳打开,并显示没有剩余未合并文件。