likes
comments
collection
share

GitHub 贡献没有出现在贡献表格里的原因

作者站长头像
站长
· 阅读数 28

前言

最近在使用 GitHub 时,我发现我的提交有时没有出现在个人主页的贡献表格里。水一篇文章来记录下解决办法。

GitHub 贡献没有出现在贡献表格里的原因

原因

因为我在公司使用的本地 Git ,提交代码时使用的是公司的邮箱,而这个邮箱没有绑定到我的 GitHub 账户,所以 GitHub 的贡献记录就不会显示。在提交记录上可以看到头像是空的,如果想要看到提交使用的邮箱,可以在对应提交的 URL 后面加.patch就可以看到了。

GitHub 贡献没有出现在贡献表格里的原因

解决办法

在 GitHub 的设置中添加公司的邮箱然后去激活一下,贡献表格就会自动更新了。

GitHub 有相关的文档:

但是中文翻译不是很全。因此我全部翻译了一遍,顺便学习一下英语。翻译水平有限,见谅。


【翻译】为什么我的贡献没有出现在个人资料中?

你的个人资料中的贡献表格是你对 GitHub 仓库贡献的记录。贡献的时间指的是 UTC 时间而不是你所在地的时间。贡献只有在特定的条件下才会被记录。在某些情况下,我们可能需要重建你的贡献表格才能显示贡献。

被记录的贡献

议题和拉取请求

如果你的议题和请求创建在一个独立的仓库而不是 fork 仓库,它们将出现在你的贡献表格上。

提交

提交将会出现在你的贡献表格上,如果它们满足以下条件:

  • 提交中的邮箱关联了你的 GitHub 账户
  • 提交是在独立的仓库中进行的,而不是 fork 仓库
  • 提交是在以下分支:
    • 仓库的默认分支
    • gh-pages 分支(对于包含项目站点的仓库)

另外,以下的内容至少一条需要满足:

  • 你是一个仓库的合作者或者是一个拥有仓库的组织的成员
  • 你已经 fork 过仓库
  • 你已经在仓库中开启过拉取请求或者议题
  • 你已经为仓库加过星标

贡献没有被记录的常见原因

注意:

  • 如果给你的提交执行 rebase 操作,原来的作者和 rebase 操作的执行者都会得到记录的贡献分数

提交被创建不到 24 小时

在创建一个满足记录条件的提交之后,你可能需要等待 24 小时才能看到它出现在你的贡献表格上。

你的本地 Git 提交中的邮箱没有连接你的账户

为了让提交出现在贡献表格上,你的提交中的邮箱必须关联你的 GitHub 账户,或者是 GitHub 邮箱设置中提供的 noreply 邮箱。关于 noreply 邮箱的更多信息,请看"Setting your commit email address."

你可以通过在对应提交的 URL 后添加 .patch 来检查使用的邮箱地址。例如 "github.com/octocat/oct…"

From 67c0afc1da354d8571f51b6f0af8f2794117fd10 Mon Sep 17 00:00:00 2001
From: The Octocat <octocat@nowhere.com>
Date: Sun, 27 Apr 2014 15:36:39 +0530
Subject: [PATCH] updated index for better welcome message

邮箱地址在From :该字段是在本地的 Git 配置设置中的邮箱地址。在上面的例子中,这次提交使用的邮箱地址是 octocat@nowhere.com.

如果提交使用的邮箱地址没有关联到你的 GitHub 账户,你必须添加该邮箱地址到你的 GitHub 账户中。当你添加新的邮箱地址时,你的贡献表格将会自动重新构建。

未注册的邮箱地址,比如jane@computer.local 不能被添加到 GitHub 账户中。如果你在提交中使用这类邮箱地址,那么你的提交将不会被关联到你的 GitHub 个人资料中,也不会出现在你的贡献表格中。

提交不在默认或者 gh-pages分支

只有在默认分支或者 gh-pages 分支的提交才会被记录,想了解更多信息,可以查看"About GitHub Pages."

如果你的提交不在默认分支也不在 gh-pages 分支,但是你想要它们被统计到贡献表格中,那么你需要做以下内容的其中一项:

  • 打开一个拉取请求来让你的变更合并到默认分支或者gh-pages分支
  • 修改你的仓库默认分支(修改仓库的默认分支将会影响所有的仓库合作者,只有你希望新的分支成为所有未来拉取请求和提交的基础时才执行此操作)

提交是在 fork 中进行的

在 fork 仓库中进行的提交将不会被计入你的贡献表格,为了让它们被记录,你必须做以下内容中的一项:

  • 打开一个拉取请求来让你的修改合并到父仓库
  • 要分离复刻并将其变为 GitHub 上独立的仓库,联系 GitHub Support 或 GitHub Premium Support. 如果 fork 的仓库 也被别人 fork 过,让 GitHub Support 知道这些 fork 是跟随你的仓库移入新的网络还是保留在当前的网络中。更多信息请查看"About forks."
转载自:https://juejin.cn/post/6902319214678573070
评论
请登录