最简单的 Git 本地多用户管理

869 阅读1分钟

工作开源两不误

在公司项目提代码的时候我们要用公司的用户名以及邮箱;当我们想参与开源项目时不能以公司的git身份提交代码。每次设置手动设置git config 又过于麻烦。下面介绍一个基于目录分区,自动实现本地git用户信息切换的功能。

抓手

Git 2.13.0(2017年发布)包含了一个新的功能includeIf配置,可以把匹配的路径使用对应的配置用户名和邮箱:

修改你的 ~/.gitconfig文件内容(删除原来的user配置):

[includeIf "gitdir:~/self-workspace/"]
    path = .gitconfig-self
[includeIf "gitdir:~/workspace/"]
    path = .gitconfig-work

然后再 创建对应的 ~/.gitconfig-self

[user]
    name = yourname-self
    email = yourname-self@gmail.com

~/.gitconfig-work

[user]
    name = yourname-work
    email = yourname-work@yourCompanyName.com

然后再你的 self-workspaceworkspace commit时就会应用不同的用户配置啦。

其他方法

  1. 利用git hook (我没有成功) segmentfault.com/a/119000001…

  2. 改ras公钥私钥什么的(实在太复杂) zhuanlan.zhihu.com/p/62071906