Thanks for your interest and kind words! The workflow has evolved a little over the past few years. Originally, I had students create their own repositories and they would make me a collaborator on those repos. That then allowed me to add comments to their commits directly.
Some assignments would involve students’ contributing work to a pre-existing repo. For that situation, I have them do pull requests. That does not usually happen until upper division—one must realize that for many of these students, the very concept of version control is something that they are also still learning. So I start them with just doing commits—which I just refer to as “saving your work without throwing away your prior saves”—then when they are more comfortable with the idea of multiple development tracks, I start using pull requests.
The original “make me a collaborator on your repo” model shifted recently with the advent of GitHub Classroom. I have since switched fully to that and will likely stay with it for self-contained assignments. With GitHub Classroom, I prepare a “proto” repo which the students then clone (by accepting an invitation link to the assignment). The GitHub Classroom setup allows me to automatically become a collaborator (an owner, in fact) of that repository. So the students don’t need to deal with adding collaborators anymore. They also don’t need their own private repositories because GitHub Classroom provides that for them.
But past that, the flow remains the same: students commit or submit pull requests to a repository in which I have at least collaborator privileges, and as such I can then supply comments as shown in the blog post.
Hope that helps—let me know if you need further information!