GitHunt
LA

Larvan2/git-switch

git-switch

在本地快速切换 Git 提交身份(姓名与邮箱)。适合同时维护工作与个人项目,或在多个账号间切换时使用。

主要功能

  • 保存和管理多个用户配置(姓名 + 邮箱)
  • 在仓库(local)或全局(global)范围快速切换身份
  • 支持从现有 Git 配置导入并保存
  • 配置保存在本地文件,方便持久化和备份

快速开始

  1. 使用交互式菜单:
git-switch
  1. 使用命令行直接操作:
# 添加一个用户配置
git-switch add -n "Your Name" -e "you@example.com"

# 列出所有保存的配置
git-switch list

# 在当前仓库切换用户(local)
git-switch switch

# 切换为全局用户
git-switch switch --global

# 从当前 Git 配置导入并保存
git-switch import

# 查看当前仓库或全局 Git 提交身份
git-switch current
git-switch current --global

# 删除保存的配置
git-switch delete

# 重置并删除所有保存的配置
git-switch reset

安装

一键安装脚本

curl -fsSL https://raw.githubusercontent.com/Larvan2/git-switch/main/install.sh | bash

安装特定版本:

./install.sh v1.0.0

手动下载

从 Releases 页面下载平台对应的压缩包并解压到系统 PATH:

  • macOS (Apple Silicon): git-switch-macos-arm64.tar.gz
  • macOS (Intel): git-switch-macos-amd64.tar.gz
  • Linux (x86_64): git-switch-linux-amd64.tar.gz
  • Linux (ARM64): git-switch-linux-arm64.tar.gz
  • Windows: git-switch-windows-amd64.zip

示例(Linux/macOS):

tar -xzf git-switch-*.tar.gz
sudo mv git-switch /usr/local/bin/
sudo chmod +x /usr/local/bin/git-switch

从源码构建

git clone https://github.com/Larvan2/git-switch.git
cd git-switch
cargo install --path .

或构建发布版本:

cargo build --release
# 可执行文件位于 ./target/release/git-switch

工作原理与注意事项

  • 默认配置文件路径:~/.git-switch/config.json(用于持久化保存用户列表)
  • 切换身份只是运行 git config --local/--global user.namegit config --local/--global user.email
  • Local(仓库)配置保存在 .git/config,Global(全局)保存在 ~/.gitconfig
  • 使用 --global 时会修改全局 Git 配置,请谨慎操作

使用场景

  • 在公司和个人项目之间切换提交身份
  • 管理同一台机器上多个 GitHub/GitLab 账号

许可

GPL-3.0 License

Languages

Rust87.8%Shell12.2%

Contributors

GNU General Public License v3.0
Created October 30, 2025
Updated December 13, 2025
Larvan2/git-switch | GitHunt