gat 是一个基于 Tauri 构建的现代化 Git 可视化管理工具,支持多仓库管理、AI 辅助提交信息和分支管理。
- 多仓库管理 - 扫描并管理多个 Git 仓库
- 文件状态查看 - 清晰展示已暂存、未暂存和未跟踪的文件
- AI 辅助提交 - 支持 DeepSeek 和 GLM API 自动生成提交信息
- 分支管理 - 切换分支、发布分支、查看分支状态
- 批量操作 - 支持多仓库批量提交
- 中文界面 - 全中文用户界面,支持中英文提交信息生成
- Node.js 18+
- pnpm
- Rust
- 系统 Git
# 克隆仓库
git clone https://github.com/ikun-Lg/gat.git
cd gat
# 安装依赖
pnpm install
# 开发模式运行
pnpm run tauri dev
# 构建生产版本
pnpm run tauri build- 启动应用后,点击"选择项目目录"
- 选择包含 Git 仓库的根目录
- 应用会自动扫描并列出所有 Git 仓库
- 在左侧仓库列表中选择要操作的仓库
- 在文件列表中点击文件进行暂存/取消暂存
- 可使用 AI 生成提交信息,或手动输入
- 点击"提交"按钮完成提交
在设置页面配置 AI 提供商:
- DeepSeek: 需要 API Key
- 智谱 GLM: 需要 API Key
- 点击分支选择器切换分支
- 未发布的分支会显示"(未发布)"标识
- 点击"发布分支"按钮将分支推送到远程
- 在仓库列表中勾选多个仓库
- 切换到批量操作模式
- 输入提交信息后批量提交
配置文件位于 ~/.config/gat/git_credentials.json,存储:
- Git 凭据(用于发布分支)
- 用户设置
- 前端: React + TypeScript + Tailwind CSS
- 后端: Rust + Tauri 2.0
- Git 操作: git2-rs
- 状态管理: Zustand
- 构建工具: Vite
gat/
├── src/ # 前端源码
│ ├── components/ # React 组件
│ ├── store/ # Zustand 状态管理
│ └── types/ # TypeScript 类型定义
└── src-tauri/ # Rust 后端
├── src/
│ ├── commands/ # Tauri 命令
│ ├── domain/ # 领域模型
│ └── error.rs # 错误处理
└── capabilities/ # 权限配置
# 开发模式
pnpm run tauri dev
# 构建
pnpm run tauri build
# 前端类型检查
pnpm run tsc
# Rust 代码检查
cd src-tauri && cargo checkMIT License
欢迎提交 Issue 和 Pull Request!