github上没有记录contribution

本文介绍如何通过配置多个SSH密钥分别对应GitHub和GitLab账户来解决GitHub贡献图显示灰色的问题,确保提交记录正确关联。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题

俗话说,好记性不如烂笔头,所以希望把自己了解的知识记录下来,代码一般放在github上,最近留意到contribution很多都是灰色(表示没提交),然后看了下Learn how we count contributions,里面有这么一条:The email address used for the commits is associated with your GitHub account(提交的电子邮件地址与您的GitHub帐户有关)。怀疑是这个问题,由于是公司机器,配置有gitlab账号。
打开Git Bash客户端,进入本地开发目录,执行git log,发现提交的邮件地址和github账号果真不一样,如下图:
这里写图片描述
使用的是gitlab账户,而非github账号的邮箱地址。

解决问题

github/gitlab同时管理多个ssh key

在.ssh目录下(C:\Users\用户名\.ssh)新建一个config文件配置一下,就能解决gitlab与github的ssh key的冲突
1.生成并添加gitlab的ssh key

cd ~/.ssh
ssh  ssh-keygen -t ras -C "xx@yy.com"

提示让给文件起一个名字, 比如叫 id_rsa_gitlab, 所以相应的也会生成一个 id_rsa_gitlab.pub 文件
2.生成并添加github的ssh key

ssh-keygen -t rsa -C "youremail@gmail.com"

提示让给文件起一个名字, 比如叫 id_rsa_github, 所以相应的也会生成一个 id_rsa_github.pub 文件
3.添加私钥
查看.ssh下的目录文件,发现多了id_rsa_gitlab、id_rsa_gitlab.pub和id_rsa_github、id_rsa_github.pub四个文件。
这里写图片描述
在git bash客户端执行如下命令:

$ ssh-add C:/Users/用户名/.ssh/id_rsa_gitlab
$ ssh-add C:/Users/用户名/.ssh/id_rsa_github

4.修改配置文件
在.ssh文件夹下新建config文件,文件内容如下:

#gitlab
Host gitlab.com
HostName gitlab.com
PreferredAuthentications publickey
IdentityFile C:/Users/用户名/.ssh/id_rsa_gitlab

#github
Host github.com
HostName github.com
PreferredAuthentications publickey
IdentityFile C:/Users/用户名/.ssh/id_rsa_github

5.github/gitlab上添加ssh key
先在git bash上的.ssh目录下执行cat id_rsa_github.pub,然后登陆github,在Personal settings-SSH and GPG keys下,点击 new ssh key添加ssh key.
gitlab的ssh key添加和上面步骤一样
6.测试
在git bash上输入

ssh -T git@github.com

如果显示:Hi sullylei! You’ve successfully authenticated, but GitHub does not provide shell access.说明成功连接上github;也可以用idea提交代码到github上,用git log命令看下Author的邮箱是否与github账户的邮箱一致;或者看下github上的contribution图上是否为绿色。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值