I am working on a course design and I'm preparing the project that the students will have to work on all along the course.
Each student will create a GIT repository a the beginning of the course and they will add files and modify them to add features as they learn new things. It has various milestones that will happen as they acquire the knowledge.
Now, the project definition is stored in a repository and includes a solution branch with a directory where we are storing an example on how to solve each milestone of the project.
Each milestone in the solution branch is tagged, so we can do a checkout and move to each point in the process.
But I now realize I should change something in the solution of one of the previous milestones (tags) and these changes should be propagated to the successive tags.
I don't know if there is an easy way to do this as it is, or it would be better to use branches instead of tags for each milestone. Would it make this situation easier?