A general question on working with git and git commands

I completed module 2 of QMoney yesterday. And now wanted to take a step back and try few different things.
this is to learn more about git and to be confident enough working with git commands
So here is what I want to do;

1. In the given image I want to go to commit that I’ve marked in red color (M1 #1 complete)

2. want to make few modifications, preserve all other states and start working as if I have just started. (I dont want to lose any of my commits that I’ve already made. i know it is safe, but just to confirm )

3. should save this as a new commit, which should appear on top of what I marked in green color (this is the commit for which build was successful).

4. I will follow a different approach (for module 1 and module 2) that I’ve in my mind and send it for assessment.

5. If I go wrong and not able to pass assessment with my new code, I want to be able to get back to the state which I marked in green color and continue with Module 3

I’ve seen commands like reset, revert but not courageous enough to use any of those here. As am really new to working with git. So any help is really appreciated.

And one more thing: I have already got the access to code stubs of Module 3 , so If at all I send a modified code for assessment after having a successful build (Module 2 here), and in case the build fails…with the fact that I’ve one successful and one failure(latest being failed), will it be considered as a successful build or not? Do you consider latest commit or just one successful build… As we have already got the access to code stub of next module

This will help you -