历史与图谱
“历史”视图(⌘3)以线性提交列表配合分支泳道展示仓库历史,并提供常用的历史操作。
搜索与过滤
按 ⌘F 聚焦历史顶部的搜索栏(在代码编辑器和输入框中仍是它们自己的查找)。可以按以下字段匹配,多个字段之间是“或”关系,不区分大小写:
- 提交信息(标题与正文);
- Hash(前缀匹配);
- 作者(名字或邮箱);
- Ref(分支、标签)。
还可以填写路径过滤,交给 Git 的 pathspec 处理。搜索会显示结果数,Esc 清除。过滤时以平铺列表显示结果,不绘制泳道。
提交右键菜单
在提交上右键可以:
- 检出(分离 HEAD)、从此提交新建分支、新建轻量或附注标签;
- 拣选(cherry-pick)、还原(revert,合并提交自动使用
-m 1); - 合并此提交到当前分支;
- 重置到这里:Soft / Mixed / Hard;
- 针对这个提交上的每个分支和标签:切换、合并到当前分支、删除。
重置、合并和删除都需要确认;Hard 重置和删除使用醒目的红色按钮。删除未合并的分支时会再确认一次,确认后强制删除。
分支视图(⌘4)中的分支与标签也提供查看历史、切换、合并到当前分支和删除等右键操作。
拖拽操作
图谱支持用拖拽完成常见操作,仅作用于当前检出的分支;分离 HEAD 或有进行中的操作时不能拖拽。
| 拖拽 | 结果 |
|---|---|
| 把任意提交拖到 HEAD 行 | 确认后 cherry-pick 该提交 |
| 把当前分支标签拖到另一个提交 | 选择“把当前分支变基到这里”(rebase)或“把它合并进来”(merge),都需要确认 |
拖动时有提示气泡和目标高亮,靠近列表边缘会自动滚动,按 Esc 取消。
冲突与进行中的操作
拣选、还原、合并或变基遇到冲突时,工作台顶部会出现横幅,显示冲突数量并提供“继续”和“中止”。冲突解决前“继续”不可用,“中止”需要确认。处理方式见冲突解决。
即将推出
Interactive Rebase(可视化编辑 pick / reword / squash / fixup / drop)正在开发中,进度见路线图。