🧠 How I Made a Backdated Git Commit Show on GitHub Contributions

Ayush HardeniyaAyush Hardeniya
3 min read

🎯 Goal

I wanted to make a commit on GitHub with a custom past date - specifically, July 1, 2025, at 12:00 PM - to reflect the actual date the work was completed on my GitHub profile.

Sounds easy, right? I thought so too.
But here's how it actually went 😅


📍Step 1: Creating the Commit Locally

I made a small change in my project and staged it with:

$ echo "Backdated test" >> backdated.txt
$ git add backdated.txt

To commit with a custom timestamp, I used:

$ GIT_AUTHOR_DATE="2025-07-01T12:00:00" GIT_COMMITTER_DATE="2025-07-01T12:00:00" git commit -m "Backdated commit to July 1, 2025"

✅ This created a commit with the exact timestamp I wanted.


❌ Problem 1: bash: commit: command not found

At first, Git Bash wouldn’t recognize the commit command because I broke it across lines incorrectly.

Fix: Run the full commit command on a single line, or use backslashes with proper spacing.


❌ Problem 2: Push Rejected

When I tried to push to GitHub, it said:

error: failed to push some refs to origin

Turns out, Git wouldn't let me push because my local branch and the remote had different histories.

Fix: I pulled the latest changes using this:

$ git pull origin main --allow-unrelated-histories

❌ Problem 3: Vim Nightmare

During that pull, Git launched Vim to ask for a merge message... and I got stuck inside it.

Fix: Exited Vim by pressing:

$ Esc
:wq
Enter

Classic Git developer moment.

[Screenshot- Vim Window in git Bash terminal]


✅ Final Steps

After escaping Vim, I added the file again just to be sure, then committed and pushed:

$ git add backdated.txt

GIT_AUTHOR_DATE="2025-07-01T12:00:00" GIT_COMMITTER_DATE="2025-07-01T12:00:00" git commit -m "Backdated push for July 1, 2025"

git push origin main

This time - everything worked.


🟩 The Green Square Appears

I went to my GitHub profile and hovered over July 1, 2025. Finally saw:

📸 [Screenshot: GitHub contribution graph showing green square on July 1, 2025]


💡 What I Learned (the hard way)

  • Backdating commits is possible - but only if you set the environment variables correctly.

  • GitHub counts a commit only if:

    • It’s pushed to the default branch (usually main)

    • It uses a verified email linked to your GitHub account

  • Git can reject pushes if the histories don’t match - --allow-unrelated-histories is your friend

  • Git Bash doesn’t support Ctrl + V (use right-click to paste) (funny…)

  • Vim will trap you if you’re not prepared


🧘 Final Thoughts

All of this… just to get one green square on the contribution graph.
Was it a lot?
Yes.
Was it worth it?
Absolutely. 😄

If you’re ever trying to do the same and getting stuck, just remember - I did too.

~Ayush Hardeniya

0
Subscribe to my newsletter

Read articles from Ayush Hardeniya directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Ayush Hardeniya
Ayush Hardeniya

Hey, I'm Ayush Hardeniya (aka Ayush Sharma) 👋 An engineering student who treats every coding challenge like a 🎮 new level to conquer. Through daily reflections, real-world problems, and code breakdowns, I document my journey --- not just to grow, but to help others grow with me. Because honestly... I don’t code, I play it. 🔥