A missing square on your GitHub contribution graph does not necessarily mean your commit was lost. GitHub counts commits only when their author email, repository, branch, and other eligibility conditions match its rules; it dates them using the Git author date, and updates can take up to 24 hours. Check those conditions first, then review whether private contributions are hidden.
How GitHub decides whether a commit appears
The personal profile contribution calendar is an eligibility-filtered summary, not a list of every commit in your Git history. A commit generally needs all of the following:
- An attributable author email: The commit’s author email must be associated with your GitHub account. GitHub’s provided noreply address is also valid. A matching name in the commit history is not enough. GitHub documents the profile contribution rules.
- An eligible repository and branch: For commits, the repository must be standalone and the commit must be on its default branch, or on the
gh-pagesbranch for a project site. At least one of GitHub’s listed relationship conditions for the repository must also apply. - Time to update: Even a qualifying contribution may not appear immediately. GitHub says it can take up to 24 hours.
Commits made in a fork do not count on their own. The repository’s Contributors graph in Insights is a separate view with separate rules; it is not the personal profile calendar.
Check the commit email first
GitHub attributes commits using the author email recorded in each commit. To inspect it, open the commit on GitHub and append .patch to the commit URL. Look for the From: line and compare that address with the emails associated with your account.
#1 Best Overall
If the address is a real email you control but is not yet associated with your account, you can add it to your GitHub account. That may restore attribution for commits using that address. An address such as [email protected] is generic and cannot be linked. Managed user accounts may have additional restrictions and may only associate commits authored with the primary email from their identity provider (IdP).
For future commits, set Git’s email to one associated with your account or your GitHub-provided noreply address. GitHub documents these commands:
Rank #2
- For all repositories on your computer:
git config --global user.email "YOUR_EMAIL" - For the current repository only:
git config user.email "YOUR_EMAIL"
Changing the setting affects future commits; it does not rewrite the author email already stored in existing commits.
Verify the repository and branch
A commit on a feature branch or another non-default branch does not count toward the personal graph until the relevant work is merged into the default branch. A commit in a fork likewise needs to be merged into the parent repository to qualify. Project sites have a specific exception: commits on the gh-pages branch can count.
Recommended Free Tools
Check the repository’s default branch before changing anything. GitHub warns that changing it changes the base for future collaboration, so do not switch it just to make a contribution appear. Confirm that the repository also meets one of GitHub’s required relationship conditions for profile contributions.
Turn on private contribution counts if you want them shown
GitHub hides private and internal repository activity on your profile by default. To show anonymized counts, open your profile’s Contribution settings and enable Private contributions. The counts can then appear without disclosing the repository’s identity or details of your work to people who do not have access. See GitHub’s explanation of private contributions.
Check the date and allow for processing
The personal graph uses the commit’s Git author date, while repository views use the commit date. Rebases, amendments, and other history changes can make those dates differ, so a commit may appear on a different day than expected. The graph’s display uses UTC, which can also put the displayed day ahead of or behind your local calendar date.
Once you have confirmed that the commit meets the requirements, allow up to 24 hours for it to appear. GitHub also says that after you associate a previously unlinked email with your account, the graph may take up to 24 hours to refresh. Its troubleshooting guidance states: “After making a commit that meets the requirements to count as a contribution, you may need to wait for up to 24 hours to see the contribution appear on your contributions graph.” GitHub Docs: Troubleshooting missing contributions.
Free tools Windows power users keep installed
One-click scans. No signup required.
Best Value
If you mean the repository Contributors graph
The graph under a repository’s Insights tab is not the profile contribution calendar. It can show up to 100 contributors, and someone outside that limit may not be listed. Its other conditions include whether commits are on the default branch and whether the author email is linked to a GitHub account. After a force-push, history rewrite, or deletion, repository statistics can take about 24 hours to refresh. GitHub documents the Contributors graph rules.
Quick Recap
A practical order for troubleshooting
- Inspect the commit: Open its
.patchview and check theFrom:address. - Match the email: Confirm that the address is associated with your account, or use your GitHub-provided noreply address for future commits. Account restrictions may apply.
- Check eligibility: Confirm the repository is eligible and the commit is on its default branch, or the relevant project site’s
gh-pagesbranch. For a fork, check whether the work has been merged into the parent. - Review visibility: If the activity is private or internal and you want its count on your profile, enable Private contributions in Contribution settings.
- Check the date and wait: Compare the author date with the graph’s displayed day, keeping UTC in mind, and allow up to 24 hours after the commit or email association.
- Identify the right graph: If you are checking a repository’s Insights contributors page, apply its separate ranking and refresh rules instead.
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




