跳转到内容

认识提交图

窗口中间是仓库历史的提交图:所有分支,最新的在最上面,每条分支一条彩色泳道。最上面一行 // WIP 是工作区,也就是还没提交的改动,它和当前检出的提交之间用虚线相连。

每一行是一个提交,表头有这些列:分支 / 标签、提交图、提交说明、作者、日期和 SHA。

  • 拖动列边缘调整宽度,双击边缘自动适配。
  • 把一列的表头拖到另一列上可以调整顺序。
  • 右键点按表头可以显示或隐藏列,或重置宽度和顺序。

窗口变窄时,MyTwig 依次隐藏作者、SHA、日期,始终给提交说明留出空间。

提交图列显示五条泳道。泳道更多的历史会在边缘淡出,位于隐藏泳道上的提交画在边缘并带一个箭头。历史随滚动分页加载,再大的仓库也很流畅。

提交可以显示为带圆环的作者头像,也可以显示为小圆点:设置 → 提交图 → 提交图中的提交。节点大小(小、中、大)在设置 → 提交图 → 提交图节点,视图 → 紧凑模式可以一屏显示尽量多的历史。

头像优先取作者在托管平台上的头像,其次是 Gravatar。没有头像的作者会按设置 → 提交图 → 头像里选的风格画一个,保证两位作者一眼看上去不会撞脸。

标签位于提交图左边的一列。电脑图标表示本地分支,云朵表示远程分支;远程分支和本地分支在同一个提交上时会合并成一个标签。远程分支用远程的图标代替 origin/ 前缀:所有者头像、托管平台的标志,或你自己选的图片(在左侧面板右键点按远程)。设置 → 提交图 → 远程分支 → 名称可以改回显示名称。

一个提交有多个标签时,其余的收在 +N 里,悬停即可看到全部。

标签可以直接操作:

  • 双击分支标签检出它。
  • 右键点按打开分支菜单。
  • 拖动到另一个分支或提交上,可以合并、变基或创建拉取请求。见分支、合并、变基。

有打开的拉取请求的分支会显示拉取请求图标,颜色表示状态:打开、草稿、CI 失败(红)、已批准(绿)。

点按一个提交查看详情:带链接的完整说明、Co-authored-by 等尾注、作者和改动的文件。点按文件查看差异。

⌘ 点按和 ⇧ 点按可以多选提交。用键盘时,J、K 上下移动,⇧J、⇧K 只在同一条分支上移动。

滚动条上会标出工作区(有冲突时为红色)、HEAD、选中的提交、搜索结果和分支末端,点按标记即可跳转。

差异有语法高亮,浅色深色都适配。在差异栏上可以切换合并视图或并排视图、长行自动换行、忽略空白。行内改动的单词会高亮,方式可在设置 → 差异 → 行内高亮里调整。在差异里按 ⌘F 打开查找栏。

改动的图片(PNG、JPEG、GIF、WebP、BMP、TIFF)直接显示为图片:并排对比、滑块对比或叠加对比。

⌘F 在已加载的历史中按说明、作者、SHA 或分支即时搜索,⌘G 和 ⇧⌘G 在结果间跳转。

想搜索整个历史,可以用运算符。在搜索栏输入 ? 查看列表:

运算符 查找…的提交
content:foo 添加或删除了文本 foo
change:正则 改动了匹配正则表达式的行
message:fix 说明里有 fix
author:mei 作者匹配
path:src/*.go 改动了匹配通配符的文件
after:2026-01-01 / before:"2 weeks ago" 在某个日期之后或之前

包含空格的值要加引号。运算符可以和普通关键词组合使用。

右键点按分支可以隐藏它,或者单独显示只看这条分支,按仓库记住。⌥⌘F 按名称过滤左侧面板。

⇧⌘H(文件历史与追溯…),或者文件菜单里的文件历史,会列出改动过这个文件的所有提交(跟随重命名)以及每次的改动。切换到追溯可以看每一行最后是哪个提交改的。

想追踪某几行在移动和重命名中的变化,在追溯视图里选中这些行,选行的历史;或者用行…输入范围,比如 12-30。

浏览提交的文件(提交菜单,或详情里的所有文件)会显示该提交时的完整文件树。可以按名称过滤、和工作区比较、打开文件、另存一份,或查看它在该提交时的历史和追溯。

视图 → 引用日志按时间倒序列出 HEAD 的每一次移动。被重置或变基丢掉的提交可以在这里找回。右键点按一条记录,可以在那里创建分支、检出、重置到它或拣选它。