ggid-0.1.0 is not a library.
gid - Git Identity Manager
✨ 特性
- 🚀 一键切换 - 快速在多个 Git 身份之间切换
- 📋 智能规则 - 基于路径或 Remote URL 自动匹配身份
- 🔑 SSH 联动 - 自动配置 SSH 密钥
- 🔏 GPG 签名 - 支持提交签名密钥管理
- 🪝 Git Hooks - 提交前自动检查身份
- 📊 审计功能 - 检查历史提交中的身份问题
- 🌍 跨平台 - 原生支持 Linux、macOS 和 Windows
- ⚡ 高性能 - Rust 编写,启动速度极快
📦 安装
从源码编译
# 克隆仓库
# 编译安装
# 或者使用 release 模式
Homebrew (即将支持)
下载预编译二进制
从 Releases 页面下载对应平台的二进制文件。
🚀 快速开始
1. 添加身份
# 交互式添加
# 或直接指定参数
2. 切换身份
# 切换当前项目的身份
# 切换全局身份
3. 设置规则(自动切换)
# 添加路径规则
# 添加 Remote URL 规则
# 自动应用规则
4. 安装 Git Hook
# 安装到当前仓库
# 或全局安装
📖 使用方法
gid - Git Identity Manager
用法: gid <命令>
命令:
switch 切换到指定身份
list 列出所有身份
current 显示当前身份
add 添加新身份
remove 删除身份
edit 编辑配置文件
export 导出配置
import 导入配置
rule 管理规则
doctor 检查身份配置问题
auto 根据规则自动切换
hook 管理 Git hooks
audit 审计提交历史
completions 生成 Shell 补全脚本
help 显示帮助
选项:
-h, --help 显示帮助
-V, --version 显示版本
身份管理
# 列出所有身份
# 查看当前身份
# 添加身份(交互式)
# 添加身份(带 SSH 和 GPG)
# 删除身份
规则管理
# 添加路径规则
# 添加 Remote URL 规则
# 列出所有规则
# 测试规则匹配
# 删除规则
检查与自动切换
# 检查当前目录的身份配置
# 自动修复
# 根据规则自动切换
Git Hooks
# 安装 pre-commit hook(当前仓库)
# 安装全局 hook
# 查看 hook 状态
# 卸载 hook
审计
# 审计当前仓库
# 审计指定目录
⚙️ 配置
配置文件位置
- Linux/macOS:
~/.config/gid/config.toml - Windows:
%APPDATA%\gid\config\config.toml
可通过 GID_CONFIG_DIR 环境变量自定义。
配置文件格式
# 身份列表
[[]]
= "work"
= "张三"
= "zhangsan@company.com"
= "工作身份"
= "~/.ssh/id_work"
= "ABCD1234"
= true
[[]]
= "personal"
= "张三"
= "zhangsan@gmail.com"
= "个人身份"
# 规则列表
[[]]
= "path"
= "~/work/**"
= "work"
= 100
[[]]
= "remote"
= "github.com/my-company/*"
= "work"
= 50
# 设置
[]
= true
= true
= false
= true
= false
项目配置 (.gid)
在项目根目录创建 .gid 文件指定默认身份:
work
🐚 Shell 补全
# Bash
# Zsh
# Fish
# PowerShell
🔧 开发
构建
# Debug 模式
# Release 模式
# 运行测试
目录结构
src/
├── main.rs # 入口
├── cli.rs # CLI 定义
├── commands/ # 命令实现
├── config/ # 配置管理
├── rules/ # 规则引擎
├── git/ # Git 操作
├── ssh/ # SSH 管理
├── gpg/ # GPG 管理
└── audit/ # 审计功能
🤝 贡献
欢迎贡献代码!请查看 CONTRIBUTING.md 了解详情。
📄 许可证
MIT License - 查看 LICENSE 文件。