终端里的 Git 指挥官,键盘就是你的武器
还在为 git add . && git commit -m "fix stuff again" 而感到空虚吗?还在 git status 和 git diff 之间反复横跳吗?
sbgit 把这些全部塞进了一个漂亮的终端界面里。不用记命令,不用切窗口,打开就能干。
╭──────────────────────────────────────────╮
│ 🐙 sbgit │
│ │
│ ❯ 1. 📋 仓库状态(Status) [s] │
│ 2. ✏️ 提交(Commit) [c] │
│ 3. 🌿 分支(Branch) [b] │
│ 4. 📜 日志(Log) [l] │
│ 5. 📦 暂存(Stash) [t] │
│ 6. 🔍 差异(Diff) [d] │
│ 7. 🌐 远程(Remote) [r] │
│ 8. ⚙️ 设置(Settings) [g] │
│ │
╰──────────────────────────────────────────╯
没错,就是这种画风。圆角边框、ANSI 真彩色、Catppuccin 主题,在终端里也能有审美自由。
| 功能 | 说明 | 快捷键 |
|---|---|---|
| 📋 仓库状态 | 查看暂存/未暂存/未跟踪文件,一键 stage/unstage | 1 或 s |
| ✏️ 提交 | 编辑提交信息,暂存文件,一键提交 | 2 或 c |
| 🌿 分支 | 创建、切换、删除、合并、变基,分支管理一条龙 | 3 或 b |
| 📜 日志 | 浏览提交历史,搜索、cherry-pick、revert 随心选 | 4 或 l |
| 📦 暂存 | stash 的保存、恢复、删除,不再手忙脚乱 | 5 或 t |
| 🔍 差异 | 彩色 diff,增删改一目了然 | 6 或 d |
| 🌐 远程 | fetch / pull / push / force push,远程操作全搞定 | 7 或 r |
| ⚙️ 设置 | 切换主题、语言,配置用户名邮箱 | 8 或 g |
- Go 1.21+
- Git(废话)
- Windows(目前只支持 Windows,因为终端原始模式用的是 Windows API)
go build .# 在任意 Git 仓库中运行
cd your-awesome-project
sbgit进去之后就是主菜单,数字键 1-8 直接跳转,方向键选择,回车确认,q 退出,Esc 返回。就这么简单。
内置两套主题,在设置页面一键切换:
- Dark — 经典深色,蓝白配色,沉稳可靠
- Catppuccin — 莫兰迪色系,温柔好看,码农之选
| 按键 | 功能 |
|---|---|
↑ ↓ |
上下移动 |
Enter |
确认 / 进入 |
Esc |
返回 / 取消 |
Tab |
切换标签页 |
1-8 |
主菜单快速跳转 |
q |
退出 / 返回 |
F5 |
刷新界面 |
/ |
搜索(日志页面) |
sbgit/
├── main.go # 入口,启动流程
├── app.go # 应用逻辑,页面路由,事件处理
├── ui.go # UI 渲染引擎,主题,绘制组件
├── terminal.go # 终端控制,原始模式,按键解析
├── gitcmd.go # Git 命令封装,所有 git 操作都在这里
├── i18n.go # 国际化翻译表
├── go.mod
└── go.sum
没有框架依赖,没有 CGO,纯 Go 标准库 + golang.org/x/term + golang.org/x/sys,编译出来一个 exe 拎着就走。
因为作者觉得好听。你也可以理解为 Super Beautiful Git Interface Tool。
MIT — 随便用,出了事别找我。