博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
(转)github在git push之后不记录Contributions
阅读量:4280 次
发布时间:2019-05-27

本文共 3147 字,大约阅读时间需要 10 分钟。

【转载原因:遇到同样的问题,push成功,但是contribuions表格上不现实,参考本文添加了github认证用户邮箱解决】

【转载原文:】

参考github官方帮助文档:Changing author info

1.产生原因分析

最近发现github在git push之后不记录Contributions[贡献],这种情况只在单位的开发机上出现,在家里的开发机上完全正常。

通过查询资料,发现原来是因为单位开发机上git配置的email不正确。
1. 通过git config查看配置的邮箱

$ git config --global --listuser.name=zhangsanuser.email=wrong_email@163.com

这个邮箱地址应该与github中Public profile配置中的Public email一致。

2. 还可以通过git log进行确认

$ git logcommit 1908f7703a96e4df3a85c2b6e8ea179eb6112f8aMerge: 40d9ff0 2f96407Author: zhangsan 
Date: Wed Jan 31 15:39:21 2018 +0800...

2.解决方案

假设前提:

- 假设我叫张三,github用户名是zhangsan,当前的email是wrong_email@163.com,正确的email是right_email@163.com。
- 假设这个项目的名字是mydemo,位于IdeaProjects目录下。解决流程如下:

1.克隆裸库:通过git clone --bare克隆裸库(bare repository:只记录版本库历史记录的版本库)

//返回上一级目录zhangsan@DESKTOP-FG4HTMB MINGW64 ~/IdeaProjects/mydemo (master)$ cd ..//创建baredemo目录,用于存放裸库zhangsan@DESKTOP-FG4HTMB MINGW64 ~/IdeaProjects$ mkdir baredemo//查看目录情况zhangsan@DESKTOP-FG4HTMB MINGW64 ~/IdeaProjects$ lsmydemo  baredemo//进入baredemo目录zhangsan@DESKTOP-FG4HTMB MINGW64 ~/IdeaProjects$ cd baredemo///克隆裸库zhangsan@DESKTOP-FG4HTMB MINGW64 ~/IdeaProjects/baredemo$ git clone --bare git@github.com:zhangsan/mydemoCloning into bare repository 'mydemo.git'...remote: Counting objects: 129, done.remote: Compressing objects: 100% (65/65), done.Receiving objects:  32% (42/129)Receiving objects: 100% (129/129), 17.77 KiB | 0 bytes/s, done.Resolving deltas: 100% (21/21), done.//进入裸库zhangsan@DESKTOP-FG4HTMB MINGW64 ~/IdeaProjects/baredemo$ cd mydemo.git/

2.创建并执行脚本修改作者信息的文件

//创建脚本文件zhangsan@DESKTOP-FG4HTMB MINGW64 ~/IdeaProjects/baredemo/baredemo.git (BARE:master)$ touch refactor_email.sh

然后将下列内容拷贝到`refactor_email.sh`中,注意修改`OLD_EMAIL[错误邮箱]`、`CORRECT_NAME[用户名]`和`CORRECT_EMAIL[正确邮箱]`

#!/bin/bashgit filter-branch --env-filter 'OLD_EMAIL="wrong_email@163.com"CORRECT_NAME="zhangsan"CORRECT_EMAIL="right_email@163.com"if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]thenexport GIT_COMMITTER_NAME="$CORRECT_NAME"export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"fiif [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]thenexport GIT_AUTHOR_NAME="$CORRECT_NAME"export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"fi' --tag-name-filter cat -- --branches --tags

保存并执行脚本文件

//执行脚本文件zhangsan@DESKTOP-FG4HTMB MINGW64 ~/IdeaProjects/baredemo/baredemo.git (BARE:master)./refactor_email.sh

3.重新提交版本信息

//确认是否已经修改正确$ git logcommit 1908f7703a96e4df3a85c2b6e8ea179eb6112f8aMerge: 40d9ff0 2f96407Author: zhangsan 
Date: Wed Jan 31 15:39:21 2018 +0800...//重新提交版本信息git push --force --tags origin 'refs/heads/*'

4.删除裸库

//退出裸库zhangsan@DESKTOP-FG4HTMB MINGW64 ~/IdeaProjects/baredemo/baredemo.git (BARE:master)$ cd ..//退出裸库目录zhangsan@DESKTOP-FG4HTMB MINGW64 ~/IdeaProjects/baredemo$ cd ..//删除裸库目录zhangsan@DESKTOP-FG4HTMB MINGW64 ~/IdeaProjects$ rm -rf baredemo///查看目录情况zhangsan@DESKTOP-FG4HTMB MINGW64 ~/IdeaProjects$ lsmydemo

5.修改git配置信息

//将邮箱修改正确git config --global user.name "right_email@163.com"//查看配置情况$ git config --global --listuser.name=zhangsanuser.email=right_email@163.com

————————————————
版权声明:本文为CSDN博主「hanchao5272」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/hanchao5272/article/details/79224161

你可能感兴趣的文章
Android Native/Tombstone Crash Log 详细分析
查看>>
怎么更改安卓系统铃声级数大小
查看>>
怎么更改开机铃声的声音大小
查看>>
Linux内核驱动之GPIO子系统(一)GPIO的使用
查看>>
system系统调用的使用
查看>>
怎么在编译时打印log
查看>>
怎么添加一个tinymix可执行文件的te文件
查看>>
usb BC1.2的三种端口
查看>>
linux下的"BusHound"——usb_mon非常好
查看>>
linux usb枚举过程分析【host】
查看>>
android之通过USB插拔流程来了解android UEvent
查看>>
[RK3288][Android6.0] USB 枚举过程小结
查看>>
CarPlay简介
查看>>
CarPlay介绍
查看>>
CarPlay wireless(蓝牙+WiFi)连接方案(蓝牙部分)
查看>>
CarPlay wireless(蓝牙+WiFi)连接方案(Wi-Fi部分)
查看>>
CarPlay wired连接与wireless连接相互切换
查看>>
USB linux NCM usbnet驱动详解
查看>>
USB OTG规范的SRP和HNP协议
查看>>
usb驱动的层次结构简述
查看>>