当前位置: 首页 > news >正文

【Git】Github 上commit后,绿格子contribution却不显示?不知道怎么弥补?解决方法在这里

github 上commit后,绿格子(contribution)却不显示

问题描述

今天一直在github上面commit代码,但是github中并没有显示自己的contribution(没有绿色的格子),全是空白,网上一查是因为邮箱不一致导致的,难道以前的contribution就无法弥补回来了吗?这篇文章告诉你解决方法。

在这里插入图片描述

原因分析

哪些条件下,才符合Github的contribution?官方的解释如下

  • Issues 和 pull requests
    • ·这个操作是在一年内
    • 这个操作针对一个独立的仓库,不能是fork
  • Commits, 如果提交符合以下所有条件,则会在您的贡献图中显示:
    • 用于提交的电子邮件地址与您的 GitHub 帐户关联。
    • 提交在独立的仓库而不是fork仓库中进行。
    • 提交在以下位置进行:
      • 在仓库的默认分支中(通常为 master)
      • 在 gh-pages 分支 (包含 "About GitHub Pages."的仓库)
  • 此外,必须至少满足以下条件之一(主要针对你Commit的仓库不是你创建的):
    • 您是仓库中的协作者,或者是拥有该仓库的组织的成员。
    • 您已fork该仓库。
    • 您对这个仓库发起过pull request或者issue。
    • 您已为仓库标记star。
  • 24 小时内进行的提交
    进行满足计为贡献要求的提交后,您可能需要等待最长 24 小时才能看到在贡献图中显示的贡献。
  • Contributions未被Github计入的几个常见原因
    • 进行Commits的用户没有被关联到你的Github帐号中。
    • 不是在这个版本库的默认分支进行的Commit。
    • 这个仓库是一个Fork仓库,而不是独立仓库。

解决方法

这里只针对第一条“进行Commits的用户、邮箱不是你的Github帐号的用户名和邮箱。”的弥补方式。

1、将本地开发环境的github的用户名和邮箱改为自己github的。

在本地的项目中进入git指向如下命令,修改邮箱

git config --global user.email "你的邮件地址"
git config --global user.name "你的Github用户名"

2、创建存储库的全新裸克隆:

git clone --bare https://github.com/user/my-repo.git
cd my-repo.git

3、在git bash执行以下两个脚本

按照自己错误的方式,选择下方的命令进行运行

  • 第一个脚本:修改以前邮箱用错的commit记录
git filter-branch --env-filter '
OLD_EMAIL="错误的邮箱"
CORRECT_NAME="github用户名"
CORRECT_EMAIL="github邮箱"
if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]
thenexport GIT_COMMITTER_NAME="$CORRECT_NAME"export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]
thenexport GIT_AUTHOR_NAME="$CORRECT_NAME"export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags;
  • 第二个脚本:修改以前用户名用错的commit记录
git filter-branch --env-filter '
OLD_NAME="错误的用户名"
CORRECT_NAME="github用户名"
CORRECT_EMAIL="github邮箱"
if [ "$GIT_COMMITTER_NAME" = "$OLD_NAME" ]
thenexport GIT_COMMITTER_NAME="$CORRECT_NAME"export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
if [ "$GIT_AUTHOR_NAME" = "$OLD_NAME" ]
thenexport GIT_AUTHOR_NAME="$CORRECT_NAME"export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"
fi
' --tag-name-filter cat -- --branches --tags;

4、执行完后,查看历史记录是否错误

git log

5、将更正的历史记录推送到GitHub

强制push所有的分支

git push --force --tags origin 'refs/heads/*'
http://www.lryc.cn/news/318941.html

相关文章:

  • 【Vue3】源码解析-Runtime
  • 常见面试题之计算机网络
  • C++进阶:详解多态(多态、虚函数、抽象类以及虚函数原理详解)
  • 【Hadoop大数据技术】——MapReduce经典案例实战(倒排索引、数据去重、TopN)
  • 02、字面量与变量
  • docker的常用指令
  • 19 OpenCV 霍夫曼变换检测圆
  • leetcode代码记录(摆动序列
  • django学习笔记
  • Python环境安装及Selenium引入
  • 【gpt实践】实用咒语分享
  • Linux用户和权限
  • git svn混用
  • FPGA静态时序分析与约束(三)、读懂vivado时序报告
  • 鸿蒙Harmony应用开发—ArkTS声明式开发(容器组件:Badge)
  • Python程序设计基础——代码习题
  • 代码随想录 贪心算法-中等题目-序列问题
  • pytest生成allure的报告
  • Python控制摄像头并获取数据文件
  • 免费分享一套SpringBoot+Vue自习室(预约)管理系统,帅呆了~~
  • mac删除带锁标识的app
  • PHP异世界云商系统开源源码
  • Vue生成Canvas二维码
  • JAVA基础—JVM内存结构基础需知
  • 【滤波专题-第8篇】ICA降噪方法——类EMD联合ICA降噪及MATLAB代码实现(以VMD-ICA为例)
  • jeecg 启动 微服务 更改配置本地host地址
  • 微服务day01 -- SpringCloud01 -- (Eureka , Ribbon , Nacos)
  • AI推介-大语言模型LLMs论文速览(arXiv方向):2024.03.10-2024.03.15
  • ThingsBoard Edge 安装部署
  • CSS进阶空间转换和 less