Cloning UE Project + Using Revision Control for Rollback

I recently encountered a project-breaking issue in UE. Luckily, I’ve now implemented Git/GitHub + VS 2022 source control to prevent data loss.

Currently, I’m trying to reuse my project’s foundation by copying files directly. However, I’m concerned about correct C++ class generation. Here are my questions:

  1. Best practice for project cloning? Should I rely on editor-based revision control for this and how would I do this, or is there a simpler way?

  2. Project rollback: If a project breaks to the point it won’t open, how do I use the editor’s revision control to restore to a previous working commit?

Thanks in advance for your time and expertise!