Skip to Content

历史

「历史」(⌘3)把提交列表、提交详情与改写操作放在同一列里。选中一条提交,中间检视器就显示它的 diff。

图谱与分页

  • 列表按页加载,滚动到底部继续取,不会一次把整个仓库读进内存;
  • 每条提交左侧有轻量分叉图,能看出合并与分支走向;
  • 默认只看当前分支,可以切到全部分支视图;
  • 合并提交带合并标记,多父提交在详情里分别列出。

筛选与搜索

搜索框支持这些写法:

输入作用
普通文本匹配提交标题与正文
author:名字按作者过滤
content:文本在提交内容中搜索
分支名只看某个分支的历史

还可以按日期范围过滤,以及切换是否忽略空白差异。

提交详情

选中提交后可以:

  • 查看完整 diff,支持与变更页相同的布局与查找;
  • 预览、保存单个文件在该提交中的版本,或把它恢复到工作区;
  • 复制提交链接、完整提交信息或 format-patch;
  • 查看包含该提交的分支;
  • 选中两条提交进行比较;
  • 把提交区间导出为 ZIP 归档或补丁;
  • 从该提交创建分支、创建 worktree,或检出为游离 HEAD。

Blame

在文件或提交详情里打开 blame:

  • 可以在任意提交上查看 blame,而不只是 HEAD;
  • 可忽略空白改动;
  • 可指定“忽略格式化提交”,让大范围重排不污染归属;
  • 每行显示提交、作者与时间,点击跳到对应提交。

引用日志与重置

「引用日志」列出 HEAD 的 reflog 记录,可按 selector、SHA 或说明过滤。

  • 软重置(git reset --soft):只移动 HEAD,索引与工作区保持不变;
  • 混合重置与硬重置在确认后执行;硬重置会先把脏工作区写成恢复快照。

reflog 不是未提交内容的备份。要找回被丢弃的工作区改动,用恢复中心。

改写历史

操作说明
交互式变基待办列表可编辑:drop、squash、fixup、reword、edit,支持拖动排序
autosquash识别 fixup! / squash! 提交并自动排到目标之后
压缩连续提交选中一段连续提交合并为一条
修改提交信息对任意提交 reword,内部通过临时交互式变基完成
拆分 HEAD按片段选择把当前提交拆成多条,并保留备份引用
拣选与还原多选提交批量 cherry-pick 或 revert;还原合并提交时选择主线父提交
改写对照记录改写前后的区间,用 range-diff 对比差异

所有改写都会在操作前确认。改写完成后,旧的提交仍然可以通过 reflog 找回。

签名徽标

提交列表与详情会显示 GPG 或 SSH 签名状态:有效、无效或未签名。标签的签名验证在分支、标签与远端中说明。

分支审阅

选中一个基准分支,可以让 ACP Agent 审阅 base...HEAD 之间的出站提交。发送前会列出范围、提交数、文件统计与字节数,返回结果带回执;范围变化后回执会标为过期。这属于 AI 功能,见 ACP Agent。

最后更新于