git上不显示贡献度的解决办法
从 github 导入 gitee 的项目无法记录贡献度
在码云(gitee)【新建仓库–>导入已有仓库】,输入github仓库地址,此时导入的项目commit并没有被统计到人主页的贡献度里。
经过搜索发现,gitee的贡献度是按照commit的邮箱来统计的。因为github账号使用的是gmail邮箱,gitee使用的账号是qq邮箱,所以 必须在多邮箱管理界面绑定过的邮箱才纳入统计。
删除导入的仓库,添加邮箱后重新操作一遍,发现历史的commit还是没被统计到主页的贡献度里。
使用 git log 命令查看commit历史邮箱记录,发现确实已经在多邮箱管理界面绑定过里。
再次经过一番搜索才发现,只有push操作才能触发贡献度统计。
那好说,修改个文件,commit,push,发现不行。 增加个文件,commit,push,还是不行。
折腾一番发现,若要保留历史贡献,正确的操作方法把所有commit都push一下。以下把github仓库https://github.com/smile365/blog
导入到gitee的https://gitee.com/smile365/blog
仓库为例,github已经有1千多次commit,gitee还没有建立仓库。
正确操作
在gitee建立一个与github同名的空仓库(不需要任何初始化没,不用导入仓库)
git clone git@github.com:smile365/blog.git
cd blog/
git remote -v
# 若不想保持两边仓库同步,可不加 add 参数
git remote set-url --add origin git@gitee.com:smile365/blog.git
git remote -v
git push
此时发现个人主页的贡献度已经发生变化了,终于成功了啊。
注:
git remote set-url --add
这条语句的一次是推送的时候同时推送到两个地址,改变的是本地git的config配置,origin端的配置已经不会改变,重新clone会初始化成clone地址相对应的配置。
若要保持gitee和github贡献度同步,可以在github的邮箱配置也填写一致,增加在gitee填写的邮箱即可。
两个仓库不一致
522 git clone git@github.com:smile365/myself.git
523 cd myself
530 git remote rm origin
531 git remote -v
532 git remote add origin git@gitee.com:smile365/myself.git
534 git pull
543 git push -u origin master
548 git push -u origin +master