당신의 GitHub 그래프가 얼마나 일하는지 거짓말하고 있습니다. 내가 고친 방법
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 # sync now
contrib-mirror --setup # run the configuration wizard again
contrib-mirror --help # show help
contrib-mirror --version # show version
cron 또는 launchd 로 동기화를 예약할 수 있습니다(마법사가 이를 설정해 줍니다).
전제 조건
| 요구 사항 | 이유 | 확인 |
|---|---|---|
| Git | 저장소를 복제하고 커밋을 만들기 위해 | git --version |
| Bash | 스크립트를 실행하기 위해 | bash --version |
| Access to private repos | 커밋을 가져오기 위해(SSH 또는 HTTPS) | 작업 저장소에서 git remote -v |
| GitHub CLI (optional) | PR, 리뷰, 이슈를 추적하기 위해 | gh --version |
호환 환경…
- GitHub (GitHub Enterprise 포함)
- Bitbucket
- GitLab
- 자체 호스팅 Git 서버
유용하다고 생각되면 GitHub에서 프로젝트에 ⭐를 눌러 주세요.