我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作

在 Codex 里写代码时,我希望能直接查看当前项目有哪些分支、每个分支提交了什么,再顺手检查一下工作区改动。于是做了一个开源插件 Git Branch Explorer,把这些操作放进 Codex 的右侧面板。

现在发布到了 v0.4.0 ,使用 MIT 许可证。它是独立开发的第三方插件,安装不需要修改 Codex 本体。

项目地址:Winlifes/codex-git-branch-explorer

先看运行效果

截图使用临时演示仓库,在本地 MCP 开发宿主中采集,未包含 Codex 窗口外框。

安装后,在 Codex 右侧面板点击 + → Git 就能打开。面板跟随 Codex 的主题和语言,支持英文、简体中文;窄面板下,分支列表会变成可以展开的抽屉。

把分支、历史和改动放在一起

分支按文件夹组织

分支名中的 / 会变成目录层级,例如:

text 复制代码
本地分支
├─ codex
│  ├─ card-collection
│  └─ fixes
│     └─ scrollbars
├─ feature
│  └─ local-storage
└─ main

远程分支
└─ origin
   ├─ codex
   └─ main

文件夹可以展开、收起,显示下面有多少个分支;当前分支会有标记。展开状态按仓库分别保存,搜索时自动展开匹配的完整路径,清空搜索后恢复之前的状态。方向键也能在目录间移动。

点选分支只切换正在浏览的历史,不会直接 checkout。 真正切换工作区分支,要从"分支操作"中发起并确认。

每次提交都能看到时间、行数和 diff

提交列表显示提交说明、作者、短 SHA、日期时间,以及新增和删除的行数。列表中的行数统计以第一父提交为基准,根提交与空目录比较;二进制文件不计入文本增删行数。

点击提交后,可以继续看完整信息、变更文件和逐文件 diff。合并提交支持选择父提交来查看差异,也能按提交说明或作者搜索历史。

工作区里可以做常用 Git 操作

目前支持:

  • 单文件或全部暂存、取消暂存,提交已暂存内容。
  • 创建、切换和合并分支,删除已合并的本地分支。
  • git revert 生成反向提交来撤销某次提交。
  • 获取远程更新、快进拉取、普通推送和设置上游。
  • 单文件或全部撤回未暂存改动,执行前保存本地备份。

撤回未暂存改动时,会保留已经暂存的内容。部分暂存的文件恢复到暂存区版本,未跟踪文件则先备份再移除。备份位置会显示在操作结果里,方便手动恢复。

Git 写操作为什么要分两步

给界面加按钮很容易,但"我正在看哪个分支"和"工作区当前在哪个分支"并不一定相同。如果点击后立刻修改仓库,就容易操作错目标。

所以这个插件的写操作采用 预览 → 确认执行:先列出仓库、目标分支和受影响的路径,确认后再执行。预览凭据五分钟后过期,执行前还会重新核对仓库状态;如果期间文件或引用发生变化,需要重新生成预览。

实现上,前端通过 MCP Apps 与本机 Python 服务通信,后端用参数数组调用 Git。界面不接受自由拼接的 Git 命令。Git 的身份、凭据、钩子和签名配置沿用本机设置。

v0.4.0 发布前通过了 72 项 Python 测试和 9 项分支树测试。写操作测试使用临时仓库和本机裸远程,覆盖部分暂存、合并冲突、撤回备份、重复确认和预览过期等场景。

安装与目前的边界

需要 Git、Python 3.9+,以及支持 MCP 面板入口的 Codex 桌面客户端。插件运行不依赖 npm、第三方 Python 包或额外 API Key。

sh 复制代码
git clone https://github.com/Winlifes/codex-git-branch-explorer.git
cd codex-git-branch-explorer
python3 scripts/install.py

也可以从 Releases 下载 ZIP 后安装。安装器会配置本机 MCP 启动路径并注册个人插件市场。

几个实际使用时需要知道的边界:

  • 已在 macOS 验证,其他平台暂未完成验证;面板入口依赖 Codex 客户端支持。
  • 新任务尚未提供项目目录时,插件会给出消息和仓库检查提示,也可以手动选择仓库;旧任务同样可以使用。
  • "刷新"重读本地 Git 数据,远程分支要通过"获取"更新。
  • 拉取只允许快进;没有提供强制推送、强制删分支或硬重置。
  • 目前通过 GitHub 分发,尚未上架 OpenAI 官方插件目录;更新后若仍显示旧界面,可等任务结束后重新打开 Codex。

README 已提供中英文说明、截图和操作细节。如果你也在 Codex 里管理多个 Git 分支,欢迎试用,并在 Issues 反馈具体场景,尤其是不同客户端版本下的兼容性问题。

相关推荐
郑州光合科技余经理1 天前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
我命由我123451 天前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制
Lcr3s1 天前
Git基础之(0):如何在Ubuntu(Linux)上安装git
git
玄芯散人2 天前
【筑基·058】Git协作工作流:冲突解决和PR流程
git·版本控制·团队协作
寺中人2 天前
Git 版本控制完全入门指南:从安装到实战,提交 + 分支 + 协作 + 冲突解决全拆解
git·开发工具·版本控制·团队协作·代码管理
荔枝梅梅2 天前
新手程序员 SSH 第一课:从 Git 仓库连接失败理解 SSH 协议与密钥配置
git
玄芯散人2 天前
【筑基·057】Git代码时光机:版本控制入门到分支管理
git·版本控制·嵌入式开发
szephyr2 天前
Git 分支管理实战:feature/release/hotfix 怎么用才不乱
git·分支管理·团队协作·工作流·hotfix
一木 之林2 天前
手搓家庭服务器:二手装机、Docker部署、端口映射与frp内网穿透
服务器·人工智能·git·编辑器