1. 目的
最近我给Gitee提交了很多代码,但是贡献图还是一篇空白。查找github\gitee
统计代码共享量时使用的规则为:
贡献度的统计数据包括代码提交、创建任务 / Pull Request、合并 Pull Request,其中代码提交的次数需本地配置的 Git 邮箱是 Github/Gitee 帐号已确认绑定的才会被统计。
原来是因为:我工作电脑上有两种项目:、
- Gitee 上的个人项目
- 公司内网 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 不准确。同时,不设置为公司邮箱,可以避免邮箱信息泄露。