I took a look at your repository and it seems like you're putting all of the assignments into one big repository. If you use GitHub Classroom you could consider creating one repository for each assignment and then distributing the invitations to your students throughout your course.
This way you could update the code up until the point when you distribute it.
We've had a lot of requests for a way to update student repositories after the fact, but we haven't settled on a single recommended way to do that.
Generally speaking, it works best if you let the students pull the updates from your main repository. The important thing is that you have to make sure the changes you'd push won't cause conflicts.
An example of how some teachers do this is providing some library classes / code and a designated interface that the students can use to complete the assignment with your helper code. That way you can easily update your helper library and your students can update it without worry of conflicts.