I have a private repo which contain some modules that help me grade student assignments in a programming course.
The repo has multiple generic files such as a student database builder, a module that runs the student’s assignment etc. It also has files that are exercise dependent such as HW_1 specific test variables, specific grades etc.
On one side, half of the modules are generic and i reuse them more or less exactly the same each time i grade a new assignment.
On the other side, when i start grading a new exercise i always change the specific modules to adjust them for the specific assignment i’m grading. which causes for a loss of older specific modules from previous assignments.
What would be a good design for the repo (or possibly repos) that will allow me on one hand to clone the files i need for repeated use but will also allow me to update the specific files without losing previous ones?
Right now, for each exercise i open a new repository which contains the generic files and then i update in it the specific files and when i’m done with the exercise the repo stays idle for a long while. This also results a large number of repos that i open that share a lot of common code but also has some specific code in it.
I’d be happy to hear your thoughts and suggestions towards a more efficient and elegant solution for this situation.