乐趣区

关于git: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 = your_email@example.com
[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/<user-name>/.gitconfig 目录下,新建文件夹 gitconfig 中,否则不失效

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

[user]
    name = Another Name
    email = another_email@example.com

测试成果:

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

留神:强烈建议将 global user 配置为你的 Github ID,防止默认提交中无效用户信息的缺失,导致 Github contributions 不精确。同时,不设置为公司邮箱,能够防止邮箱信息泄露。

参考资料

  • 如何配置多个提交用户?
  • Git 目录级配置和分支级配置的解决方案
  • Git 2.13 conditional config on windows
退出移动版