I’ve responded here: GitHub Classroom: Timecode cheating
But, I think this deserves its own topic because it seems the state of the GitHub API does not even allow this workflow. I said:
What the deadline setting should actually do is simply change all of students’ privileges on their own assignment repos to Read instead of Write . Then it doesn’t matter what timestamp is on whatever commit because they can’t even push to the remote after the deadline. Then as instructors we can clone down whenever we have the chance and the repo is in whatever state they were forced to leave it right at the deadline.
When initial grades have been returned, then the repositories should be able to be opened back up for late submissions.
If all Classroom is doing is making GitHub API calls and cannot do anything exceptional such as this (since the ability to update collaborator permissions in a repository is missing), then it seems it is no better than a hacked together custom workflow using something like
gitolite which can at the very least support hard deadlines and disallow students from making submissions after them. That seems like something the most basic “homework submission” service would have!