Git Workbench
Git Workbench 是面向 Visual Studio Code 的 Git 工作台,将改动审查、提交管理、版本比较、历史追溯和托管评审整合到同一界面。
当前版本:0.1.1。支持通过 VSIX 安装。
功能参考 · 更新日志 · 开发与发布计划 · 第三方声明
主要功能
- 改动与提交:按暂存状态查看文件,逐行或逐块审查,使用 Changelist 组织改动并独立提交。
- 版本比较:比较分支、标签、提交、暂存区和工作区,支持目录树、状态筛选、批量应用与三方合并。
- 提交历史:浏览拓扑提交图,组合搜索作者、路径、说明和内容变化,执行常用历史操作。
- 编辑器追溯:查看当前行作者、Blame、CodeLens、文件与行范围历史,复制固定版本的远程链接。
- 工作管理:管理分支、远程、标签、Worktree、Stash、Shelf、本地历史和任务上下文。
- 托管评审:连接 GitHub、GitLab、Bitbucket Cloud 或 Azure DevOps Services,查看与处理 PR / MR。


环境要求
| 项目 |
要求 |
| 编辑器 |
Visual Studio Code 1.95 或更高版本 |
| Git |
仓库所在环境中可用的 Git,建议 2.38 或更高版本 |
| 工作区 |
已信任的本地或远程文件系统工作区 |
| Git LFS |
使用 LFS 功能时需单独安装 |
在 Remote SSH、WSL 或 Dev Containers 中,应将扩展安装到仓库所在的远程环境,并确保该环境中的 Git 可用。当前不支持 vscode.dev、虚拟工作区和受限模式。
安装与启动
- 获取
idea-git-panel-0.1.1.vsix。
- 在扩展面板的
… 菜单中选择 从 VSIX 安装 / Install from VSIX…。
- 打开包含 Git 仓库的目录,并信任工作区。
- 点击活动栏的 Git Workbench 图标,或执行 Git Workbench: Open。
也可通过命令行安装或替换现有版本:
code --install-extension idea-git-panel-0.1.1.vsix --force
安装完成后,执行 开发人员: 重新加载窗口 / Developer: Reload Window,加载当前版本的界面和菜单。
快速开始
审查并提交改动
- 打开 本地更改,检查已暂存、未暂存、未跟踪和冲突文件。
- 点击文件查看差异,通过文件操作暂存改动;需要部分暂存时使用 行 或 块。
- 填写提交说明并提交,也可使用
Ctrl+Enter,macOS 使用 ⌘+Enter。
普通提交使用真实暂存区;文件勾选用于批量操作。提交选中文件和仅提交当前列表分别提供独立的提交范围,详见功能参考。
比较两个版本
- 点击 快捷比较,或进入 比较 页面。
- 选择左侧基准和右侧目标。两端均支持分支、标签、提交、暂存区或工作区。
- 点击 开始比较,在文件列表或目录树中浏览结果。
- 单击文件查看内嵌预览;双击、按
Enter 或点击 在 VS Code 中打开,查看原生差异。
快捷范围包括全部未提交、已暂存、未暂存、最近一次提交、上游和主干。分支比较可选择仅查看目标分支自共同祖先以来的改动。
拖动文件区与预览之间的分隔线可调整大小;双击恢复默认。点击 放大比较区可扩展结果区域,按 Esc 返回。布局偏好、筛选和文件选择会保留。
应用或合并比较结果
勾选文件或目录后,选择左侧版本、右侧版本或改动合并方向,再执行批量操作。应用版本将完整版本写入当前工作区;合并改动通过三方合并保留当前文件中的独立修改。
写入前会校验文件状态并保存原内容。操作目标为当前工作区,比较分支和暂存区保持不变。完成后应审查结果,再暂存和提交。冲突文件可通过 VS Code 合并编辑器处理;批量合并遇到冲突时停止,需单独处理对应文件。
浏览历史与执行操作
在 提交历史 中选择提交查看详情。搜索可组合说明、作者、文件、分支、日期和内容条件,例如:
author:"张 三" file:src/login.ts branch:main after:2026-01-01
顶部 全部 Git 操作菜单支持搜索和键盘选择,也可执行命令 Git Workbench: Git Actions…。文件、提交和分支的更多菜单提供相应上下文操作。
界面与键盘操作
文件区域支持 列表 / 目录树切换,各模块分别保存显示偏好。下拉选择器支持搜索、方向键、Enter 确认和 Esc 关闭。
| 操作 |
快捷键或交互 |
| 提交当前暂存区 |
Ctrl+Enter / ⌘+Enter,需满足提交条件 |
| 浏览比较文件 |
↑ / ↓、Home / End |
| 展开或折叠比较目录 |
→ / ← |
| 打开比较文件菜单 |
Shift+F10 |
| 调整比较分隔线 |
方向键;按住 Shift 加大步长;Home / End 调至边界 |
| 返回普通比较布局 |
Esc |
| 上一个文件版本 |
Alt+Shift+[ |
| 下一个文件版本 |
Alt+Shift+] |
改动标记优先使用 VS Code 主题的 Git 配色;后备配色如下。类型同时通过字母和悬停说明表达。
| 标记 |
含义 |
后备颜色 |
| A / U |
新增 / 未跟踪 |
绿色 |
| M |
修改 |
黄色 |
| D |
删除 |
红色 |
| R / C |
重命名 / 复制 |
蓝色 |
| ! |
冲突 |
橙色 |
| T |
文件类型变化 |
紫色 |
配置
在 VS Code 设置中搜索 gitWorkbench,或在 settings.json 中配置以下选项。
| 配置项 |
默认值 |
说明 |
gitWorkbench.gitPath |
git |
扩展宿主上的 Git 可执行文件路径 |
gitWorkbench.historyPageSize |
150 |
每次加载的历史提交数量 |
gitWorkbench.autoFetch |
false |
工作台打开期间,每五分钟执行 Fetch |
gitWorkbench.currentLine.enabled |
true |
当前行作者与提交注解 |
gitWorkbench.hovers.enabled |
true |
编辑器提交悬浮信息 |
gitWorkbench.codeLens.enabled |
true |
文件和语言符号 CodeLens |
gitWorkbench.localHistory.enabled |
true |
文件及 Untitled 本地历史 |
gitWorkbench.localHistory.workspaceFiles |
true |
记录仓库外文件与 Untitled,需启用本地历史 |
gitWorkbench.localHistory.days |
30 |
文件历史保留天数 |
gitWorkbench.localHistory.storageMB |
512 |
文件历史共享存储预算,单位 MB |
gitWorkbench.localHistory.directoryEnabled |
false |
自动记录目录历史 |
gitWorkbench.localHistory.directoryMaximum |
100 |
每个仓库的目录快照保留数量 |
gitWorkbench.localHistory.directoryDays |
30 |
目录历史保留天数 |
gitWorkbench.localHistory.directoryStorageMB |
256 |
每个仓库的目录内容存储预算,单位 MB |
gitWorkbench.commitChecks.whitespace |
false |
提交前检查空白错误 |
gitWorkbench.commitChecks.diagnostics |
false |
根据语言服务诊断检查所选文件 |
gitWorkbench.commitChecks.commands |
[] |
按顺序执行的提交前检查命令 |
gitWorkbench.hosting.notifications |
false |
每五分钟检查已连接服务的通知 |
自定义检查通过可执行文件和参数数组配置,单项超时为 120 秒。首次使用或修改命令后需确认。
{
"gitWorkbench.commitChecks.commands": [
{
"name": "TypeScript 检查",
"command": "node",
"args": ["node_modules/typescript/bin/tsc", "--noEmit"]
}
]
}
数据与凭据
Git Workbench 不自动收集遥测。托管服务令牌保存在 VS Code SecretStorage 中,与 Git credential helper 或 SSH agent 分别管理。连接托管服务或执行远程 Git 操作时,会访问相应服务。
文件历史和 Shelf 保存在仓库外的本地扩展存储中;任务改动备份使用 Git 管理目录、专用引用及 Stash。存储范围、清理方式和恢复限制见功能参考。本地历史依赖扩展运行及可观察事件,不能替代独立备份。
开发与验证
开发环境要求 Node.js 22.12 或更高版本及 npm。
npm ci
npm run check
npm run format:check
npm test
npx playwright install chromium
npm run test:ui
npm run package
按 F5 启动 Extension Development Host。npm run package 会重新构建并生成 idea-git-panel-0.1.1.vsix。
Git 集成测试使用临时仓库,浏览器测试使用演示数据。真实 VS Code、托管账号、远程环境和跨平台验证要求见开发与发布计划。
许可证
本项目采用 MIT License。随包分发的第三方组件及许可证见第三方声明。