In our workflow, no \"direct\" commits are made into the master branch. The master branch only receives merges from Pull Requests.
We can think of each merge then as a n
Git exposes such feature through the git log command. This command accepts some switches that filter the rendered commits according to the number of parents commits.
One of them would fit your request:
--min-parents=2
.The following shows the merge commits (ie. commits with more than one parent) reachable from the vNext
branch of the LibGit2Sharp project
$ git log vNext --merges --oneline
090b2de Merge pull request #348 from jamill/credential_callback_fix
0332c35 Merge pull request #260 from ben/great-renaming
3191c1b Merge pull request #239 from ben/libgit2-upgrade-81eecc3
1d544e8 Merge branch 'vNext'
238d259 Merge remote-tracking branch 'origin/master'
Leveraging the same output through the GitHub API is possible, but would be somewhat more complex.
This would require to retrieve all the commits from a branch, paginating through all the results (in order to retrieve all the commits meta data) while filtering out the ones that only expose only one parent node.
As a starting point, the following url shows the latest 30 commmits of the vNext
branch.