Github没有记录Contributions的原因及解决方案
来源:互联网 发布:洛枳扮演者晁然淘宝店 编辑:程序博客网 时间:2024/05/22 18:15
为什么你的 Contributions 没有在你的 Profile 里显示?
那么问题来了,什么是Contributions呢,Github官网上有这么一句话:
Your profile contributions graph is a record of contributions you've made to GitHub repositories. Contributions are only counted if they meet certain criteria. In some cases, we may need to rebuild your graph in order for contributions to appear.
你的个人简介中的贡献图记录的是你给Github上的仓库的贡献。它仅仅只记录某些符合标准的commits。在某些情况下,我们需要重新建立你的贡献图以便让所有的贡献都显示出来。
什么样的贡献才会被Github统计?
英语好的同学请移步 Why are my contributions not showing up on my profile?
Issues 和 pull requests
这个操作是在一年之内
这个操作是针对一个独立的仓库,不能是fork
Commits
当你的commits满足以下条件时,它才会被展示出来:
一年之内提交的commits
commits使用的email地址是与你的Github账号相关联的
这些commits是在一个独立的仓库而不是fork仓库
这些commits是在:
在默认分支上(通常是
master
)在
gh-pages
分支(包含 Project Pages sites 的仓库)
此外,至少满足下面条件中的一个(主要针对你Commit的仓库不是你创建的):
你是这个仓库的协作者,或者是这个版本库的拥有组织中的一员
你fork过这个仓库
你对这个仓库发起过pull request或者issue
你对这个仓库标记了Star
注意:私有库的贡献仅仅对私有库成员显示
Contributions未被Github计入的几个常见原因
进行Commits的用户没有被关联到你的Github帐号中。
不是在这个版本库的默认分支进行的Commit。
这个仓库是一个Fork仓库,而不是独立仓库。
如何排查
你可以在你的本地repo里用git log
命令查看commit记录上的个人邮箱是否正确,像我就是因为之前切换到Mac平台开发之后用户名没有配置,所以我之后的commit记录上的邮箱一直是Leo@Leo-MacBook-Pro.local
,所以Github就会认为这些commits都不是你提交的!
补救措施
然而这也并不是没有补救办法的,Github官网上就有给出详细的补救过程,英语好的同学请自行移步 Changing author info,下面是我翻译自Github Help的简要步骤:
变更作者信息
为改变已经存在的 commits 的用户名和/或邮箱地址,你必须重写你 Git repo 的整个历史。
警告: 这种行为对你的 repo 的历史具有破坏性。如果你的 repo 是与他人协同工作的,重写已发布的历史是一种不好的习惯。仅限紧急情况执行该操作。
使用脚本改变你 repo 的 Git 历史我们写了一段能把 commit 作者旧的邮箱地址修改为正确用户名和邮箱的脚本。
使用脚本来改变某个repo的Git历史
我们已经创建了一个脚本,使用正确的姓名和电子邮件地址提交后,你以前提交的所有的commits中的作者信息及提交者字段中的旧的用户名和邮箱地址都将被更正
注意: 执行这段脚本会重写 repo 所有协作者的历史。完成以下操作后,任何 fork 或 clone 的人必须获取重写后的历史并把所有本地修改 rebase 入重写后的历史中。
在执行这段脚本前,你需要准备的信息:
Mac、Linux下打开Terminal,Windows下打开命令提示符(command prompt)
给你的repo创建一个全新的clone
git clone --bare https://github.com/user/repo.git
cd repo.git复制粘贴脚本,并根据你的信息修改以下变量:
旧的Email地址
,正确的用户名
,正确的邮件地址
#!/bin/shgit filter-branch --env-filter 'OLD_EMAIL="旧的Email地址"CORRECT_NAME="正确的用户名"CORRECT_EMAIL="正确的邮件地址"if [ "$GIT_COMMITTER_EMAIL" = "$OLD_EMAIL" ]then export GIT_COMMITTER_NAME="$CORRECT_NAME" export GIT_COMMITTER_EMAIL="$CORRECT_EMAIL"fiif [ "$GIT_AUTHOR_EMAIL" = "$OLD_EMAIL" ]then export GIT_AUTHOR_NAME="$CORRECT_NAME" export GIT_AUTHOR_EMAIL="$CORRECT_EMAIL"fi' --tag-name-filter cat -- --branches --tags
按
Enter键
执行脚本。用
git log
命令看看新 Git 历史有没有错误把正确历史 push 到 Github
git push --force --tags origin 'refs/heads/*'
删掉刚刚临时创建的 clone
cd ..rm -rf repo.git
如何正确设置你的 git 个人信息
接下来全局设置好你的正确信息,以后就放心的用Github进行版本管理吧 ^_^
git config --global user.email "你的邮件地址"git config --global user.name "你的Github用户名"
原文链接:http://xunli.xyz/2016/01/09/github-not-count/
- Github没有记录Contributions的原因及解决方案
- 为什么Github没有记录你的Contributions
- github提交时没有记录Contributions
- Github不记录Contributions的问题
- Github不记录Contributions的问题
- Github不记录Contributions的问题
- github 提交不记录Contributions
- 记录github出错及解决方案
- github的contributions不增长fix
- Contributions未被Github计入的解决方法
- GitHub contributions 统计规则
- Github contributions 故障处理
- Github计算contributions
- 为毛Github的contributions贡献值不增长了
- 安装sql2005,没有SQL Server management studio的原因分析及解决方案
- 绝对首发---关于github上无法显示自己的“Your Contributions”或是看不见别人的“Public contributions”
- Github -- Contributions Calendar 绿点不显示
- github 有activity记录 没有contribution的记录怎么办
- android studio ,gradle 导入项目 常见错误 错误提示:Error:(2, 0) Plugin with id ‘com.github.dcendents.Android-mave
- 使用Jmeter进行接口测试和压力测试的配置和使用
- Redis-AOF持久化
- Codeforces Round #421 A. Mister B and Book Reading
- Web 请求过程
- Github没有记录Contributions的原因及解决方案
- 每日一题——栈实现队列,队列实现栈
- 使用Ansible部署Nginx
- Spring源码(一) 源码转换eclipse工程
- 【Java Utility】Jsoup网页爬虫工具--设置Element的HTML内容【十二】
- Codeforces Round #422 A. I'm bored with life
- mysql学生选课
- 【JavaScript的条件操作符】
- 探索ES6 Iterator(遍历器)