git 多账号切换

有时候一台电脑上使用了多个 git 账号,需要经常在不同账号间切换,用来控制 git 提交记录显示的名字。

原理

git 的账号配置保存在 ~/.gitconfig 文件中,格式如下:

1
2
3
[user]
name = gorden5566
email = gorden5566@126.com

修改此文件即可切换账号。

git 提供了一个查看当前账号配置的命令

1
git config -l

切换好账号后可执行此命令再次确认

实现

多个账号使用的是相同的私钥,只需要切换账号配置即可

  1. 新建 ~/.git 目录,将每个账号的配置都放在此目录下

    例如 github 使用的账号配置文件为 .gitconfig-git

  2. 新增 alias 命令

    .zshrc 中新增如下配置

    1
    2
    alias guser="git config -l | grep user.name"
    alias guser-git="\cp ~/.git/.gitconfig-git ~/.gitconfig | guser"

    第一个命令为 guser,用于查看当前使用的账号

    第二个命令为 guser-git,用于切换账号配置为 .gitconfig-git 文件,同时输出当前账号配置

有了这些命令,想要切换 git 账号,只需只需一个 guser-xxx 命令即可。要查看当前使用的是哪个账号,一个 guser 命令搞定。

吃吃吃