Git 配置多提交用户

1. 目的

最近我给Gitee提交了很多代码,但是贡献图还是一篇空白。查找github\gitee 统计代码共享量时使用的规则为:

贡献度的统计数据包括代码提交、创建任务 / Pull Request、合并 Pull Request,其中代码提交的次数需本地配置的 Git 邮箱是 Github/Gitee 帐号已确认绑定的才会被统计。

原来是因为:我工作电脑上有两种项目:、

  1. Gitee 上的个人项目
  2. 公司内网 Gitlab 上的公司项目

我在安装Git的时候设置了Git全局用户邮箱为公司邮箱。导致Giee项目提交用户邮箱信息都是公司的邮箱,所以代码共享上就看不到绿油油的一遍。

我的目的就是Gitee项目使用个人的邮箱,公司Gitlab项目使用公司邮箱。

2. 方法

Git 2.13 版本中,增加了 conditional includes 配置,可以创建多个 gitconfig 文件,并针对不同的根目录使用不同的配置文件。

例如,以下全局配置文件 ~/.gitconfig 中包含以下用户配置信息,当项目 clone 在 ~/dev/ 目录下时,会自动使用另外一份配置文件

[user]
    name = Your Name
    email = [email protected]
[includeIf "gitdir:D:/workspace/gitee/"]
    path = gitconfig/gitee.gitconfig
[includeIf "gitdir:D:/workspace/github/"]
    path = gitconfig/github.gitconfig

注意:此处的path需要放在和 .gitconfig 相同的目录下,否则不生效,比如

github 的配置 github.gitconfig 放在 C:/Users//.gitconfig 目录下,新建文件夹 gitconfig 中,否则不生效

以下是 gitconfig/gitee.gitconfig 文件的配置

[user]
    name = Another Name
    email = [email protected]

测试效果:

# 在本地 git repo下执行如下命令就能看到当前项目的用户信息
$ git config --show-origin --get user.email

注意:强烈建议将 global user 配置为你的 Github ID,避免默认提交中有效用户信息的缺失,导致 Github contributions 不准确。同时,不设置为公司邮箱,可以避免邮箱信息泄露。

参考资料

你可能感兴趣的:(gitgiteegithub)