1.3 KiB
Count Number Of Commits On A Branch
The git rev-list command will show all commits that fit the given revision
criteria. By adding in the --count flag, we get a count of the number of
commits that would have been displayed. Knowing this, we can get the count of
commits for the current branch like so:
$ git rev-list --count HEAD
4
This finds and counts commits from HEAD (usually the top of the current
branch) all the back in reverse chronological order to the beginning of the
branch (typically the beginning of the repository). This works exactly as
expected for a the main branch.
What about when we are on a feature branch though?
Let's say we've branched off main and made a few commits. And now we want the
count.
$ git rev-list --count HEAD
7
Unfortunately, that is counting up the commits on the feature branch but it keeps counting all the way back to the beginning of the repo.
If we want a count of just the commits on the current branch, then we can
specify a range: from whatever main was when we branched to the HEAD of
this branch.
$ git rev-list --count HEAD
3
This is the same as saying, I want all commits on HEAD, but exclude (^) the
commits on main:
git rev-list --count HEAD ^main
3
See man git-rev-list for more details.