Renaming student repositories end of term

At the end of the term, I’d like to rename all the private student repositories, so that the prefix is changed.

Why? Well, if I have assignment1 as the prefix, and I use the same prefix the next time I teach the class, the old and new student assignments will get mixed. This is especially true if a student is repeating the course, making it hard to differentiate between their old work and new work.

My current solution is unique prefixes, so my assignment prefixes are like “y2020Winter343DAssignment1” which is a bit mouthful but works

mass_clone from will download all assignments with the same prefix, so if you are using that it is important that assignment prefixes between different terms is different.

Another solution would be to have a different organization each time a course is thought, but that leads to lots of organizations and each organization needs TravisCI and other permissions making it difficult.

Any ideas, suggestions?



Sticking to one organization to manage all the assignments throughout different courses will easily end up being quite unwieldy. At certain point you’ll be forced to download students assignments to make the organization tractable again in terms of number of repos.

You could therefore download students assignments using GitHub Classroom Assistant and finally archive them. In the end, what’s the use of having within the org lots of repos that no one will deal with any longer? Making archives out of them is a good solution.

By contrast, GitHub suggets that teachers rely on one organization per course. Again, you don’t have to maintain a huge number of organizations if you opt for the archival process, after a while.

Also, GitHub Actions has been recently outclassing Travis CI and any other CI service out there. It comes for free: no need for special permission.

1 Like

Related thread: Clean up student´ repositories from Organization