你的 GitHub Graph 在工作量统计上撒谎——我如何修复了它
Source: Dev.to
概览
我每周写代码超过 50 小时,但我的 GitHub 个人资料几乎没有任何活动。
如果你大部分时间都在私有仓库(GitHub Enterprise、Bitbucket、GitLab、自托管等)中工作,这些工作都不会出现在你的贡献图上,导致招聘人员看到的个人资料几乎是空白的。
contrib‑mirror 是一个 CLI 工具,它会将你真实的提交时间戳镜像到一个公共仓库,而不暴露任何源代码。它会创建带有原始日期的空提交,从而让你的实际工作活动在 GitHub 的贡献图上可见。
工作原理
- 发现 工作目录中的仓库。
- 创建 裸缓存(不触及源代码)。
- 提取 与你的邮箱匹配的提交时间戳。
- 可选 通过 GitHub API 拉取 PR、审查和议题的时间戳。
- 在 公共镜像仓库中 创建 带有匹配日期的空提交。
- 推送 镜像到 GitHub。
永不暴露代码。 镜像中仅包含带时间戳的空提交。GitHub 统计的不仅仅是提交——打开的 PR、提交的审查以及创建的议题也会计入你的图表。当
ghCLI 已认证时,contrib‑mirror也会抓取这些信息。
添加 cron 任务或 launchd 代理,它会在每天午夜自动同步,使你的图表保持绿色。设置向导也可以为你安排同步。
/
private-work-contributions-mirror
Private Work Contributions Mirror
Mirror commit timestamps from private work repos to your GitHub contribution graph—without exposing any code.
Before After
┌────────────────────────┐ ┌────────────────────────┐
│ ░░░░░░░░░░░░░░░░░░░░░░ │ │ ░█░██░█░░█░██░█░░█░██░ │
│ ░░░░░░░░░░░░░░░░░░░░░░ │ → │ ░█░██░█░░█░██░█░░█░██░ │
│ ░░░░░░░░░░░░░░░░░░░░░░ │ │ ░█░██░█░░█░██░█░░█░██░ │
└────────────────────────┘ └────────────────────────┘
Private work invisible Real activity visible
安装
一行命令(推荐)
curl -fsSL https://raw.githubusercontent.com/yuvrajangadsingh/private-work-contributions-mirror/main/install.sh | bash
Homebrew
brew tap yuvrajangadsingh/contrib-mirror
brew install contrib-mirror
手动
git clone https://github.com/yuvrajangadsingh/private-work-contributions-mirror.git
cd private-work-contributions-mirror
bash setup.sh
安装程序会运行交互式设置向导,自动检测你的仓库、电子邮件地址和 GitHub 组织。
使用方法
contrib-mirror # 立即同步
contrib-mirror --setup # 再次运行配置向导
contrib-mirror --help # 显示帮助
contrib-mirror --version # 显示版本
你可以使用 cron 或 launchd 来安排同步(向导会提供设置帮助)。
前置条件
| 要求 | 原因 | 检查方式 |
|---|---|---|
| Git | 克隆仓库、创建提交 | git --version |
| Bash | 运行脚本 | bash --version |
| 访问私有仓库 | 获取提交(SSH 或 HTTPS) | 在任意工作仓库中运行 git remote -v |
| GitHub CLI(可选) | 跟踪 PR、审查、议题 | gh --version |
兼容平台…
- GitHub(包括 GitHub Enterprise)
- Bitbucket
- GitLab
- 自托管 Git 服务器
如果你觉得项目有用,请在 GitHub 上给它点个星。