-
Notifications
You must be signed in to change notification settings - Fork 0
Diff and Graph
zhangxh edited this page Aug 16, 2026
·
1 revision
点击“查看 Diff”后,选择框会把同一文件的两个阶段分开:
- 已暂存 · 将进入下一次提交:比较 HEAD 与暂存区;
- 待提交 · 尚未暂存:比较暂存区与当前工作区。
这一区分非常重要。假设一个文件先暂存了修复 A,随后又继续修改 B:
HEAD → 暂存区:修复 A
暂存区 → 工作区:修改 B
下一次提交只包含 A,除非再次暂存该文件。
- 未跟踪文件没有旧版本,TriForge 直接打开当前内容;
- 删除文件会显示删除补丁;
- 二进制文件没有可读文本补丁时会给出说明;
- 重命名会启用 Git 的重命名检测;
- Diff 默认带上下文行,且不运行外部 diff/textconv。
每个文件行的 Diff 图标可以直接打开该阶段的差异,不必先经过总选择框。
完整 Graph 中选择一个提交后,可查看:
- 提交详情;
- 这个提交引入的补丁;
- 根提交的完整新增内容;
- Merge commit 的提交信息与父节点关系。
“提交 Diff”与“当前工作区 Diff”不同:前者查看历史节点已经记录的改动,后者查看尚未提交的状态。
侧栏紧凑图适合快速判断:
- 当前 HEAD;
- 分支与合并线;
- 最近提交标题、作者和时间;
- 本地分支、Tag 与远程分支标签;
- 三个平台各自远程位置。
点击提交行会打开完整 Graph 并选中同一提交。
入口:
- 视图标题的分支图标;
- “提交与同步”中的“打开 Graph”;
- 点击侧栏提交;
- 命令面板运行“TriForge Git: 打开 Git Graph”。
完整 Graph 一次最多加载 triforge.graph.maxCommits 个提交,默认 300,可设置 20–2000。大型仓库中未显示旧节点不代表提交丢失,只表示达到加载上限。
默认语义:
- HEAD:VS Code 焦点蓝;
- GitHub:中性灰;
- GitLab:橙色;
- Gitea:绿色;
- Tag:紫色;
- 选中/回退高亮:跟随 VS Code 焦点色。
颜色同时适配深色、浅色和高对比度主题。不要只靠颜色判断,平台缩写和 remote 名称也会显示在标签或 tooltip 中。
TriForge 根据:
- Git remote URL;
- 已保存连接的实例主机和路径前缀;
- 常见平台域名或 remote 名称;
把 remote 分类为 GitHub、GitLab、Gitea 或未知。自建实例若已建立对应连接,识别最准确。
平台标记表示本地存在的远程跟踪引用,不是实时查询服务器。因此:
- 刚完成远端网页提交后,图不会自动知道;
- 运行 Fetch 后才会移动;
- remote 没有抓取过时可能显示“暂无远程引用”;
- 删除连接不会删除已有远程跟踪引用,但平台分类可能变为未知。
点击“回退”后,第一步选择提交。使用上下键移动活动项时:
- 侧栏提交图滚动到对应节点;
- 节点获得焦点色高亮;
- 目标不在普通紧凑窗口内时,会临时加载显示;
- 取消或完成后清除高亮。
高亮本身不会执行 Git 命令,只有第二步确认 Revert 或 Reset 后才修改仓库。
Graph 可以告诉你“本地最后一次 Fetch 认为远程在哪里”,但不能单独证明:
- Token 仍有效;
- Push 一定有权限;
- 远端此刻没有新提交;
- LFS 对象完整;
- 服务端分支保护允许写入。
Push 前仍应 Fetch,重要发布还应在平台网页或 CI 中复核。
当前文档对应 TriForge Git 0.5.1。