Skip to content

Instantly share code, notes, and snippets.

@0penBrain
Last active November 10, 2025 16:35
Show Gist options
  • Select an option

  • Save 0penBrain/7be59a48aba778c955d992aa69e524c5 to your computer and use it in GitHub Desktop.

Select an option

Save 0penBrain/7be59a48aba778c955d992aa69e524c5 to your computer and use it in GitHub Desktop.
The simplest way to get commit count of a GitHub repository through the API
curl -I -k "https://api.github.com/repos/:owner/:repo/commits?per_page=1" | sed -n '/^[Ll]ink:/ s/.*"next".*page=\([0-9]*\).*"last".*/\1/p'
### And that's all !
# I saw many fighting with finding first commit SHA or similar fancy thing.
# Here we just rely on the GH API, asking commits at 1 per page and parsing the last page number in the header of the reply (whose body only holds the last commit !)
# So this is robust and bandwidth efficient. :)
# If one want the commit count of a specific SHA, just use :
curl -I -k "https://api.github.com/repos/:owner/:repo/commits?per_page=1&sha=:sha" | sed -n '/^[Ll]ink:/ s/.*"next".*page=\([0-9]*\).*"last".*/\1/p'
# And for a specific time (date using ISO 8601 format, 'Z' for UTC) :
curl -I -k "https://api.github.com/repos/:owner/:repo/commits?per_page=1&until=yyyy-MM-ddThh:mm:ssZ" | sed -n '/^[Ll]ink:/ s/.*"next".*page=\([0-9]*\).*"last".*/\1/p'
@ozh
Copy link

ozh commented Nov 10, 2025

Reporting in 2025 - still awesome, thanks :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment