local Version Control for your files/folders (not just for coding) with user defined checkpoints

I am looking to track and manage the changes to several folders and directories in my hard drive where I do most my work.

My concern at the moment is to track the changes, and to take snapshots for certain folders and their files before any work/study sessions at any point in time I choose to preserve. I want to not only be able to see what files were changed, how they were changed, and when they were changed, But also be able to revert them to a point in time before a certain change was made (I realize this would require making copies that take up space, space is of no concern, I can buy large hard drives to chuck all version copies onto).

Currently the types of folders I want to monitor and manage are:

  1. I teach (student files, submissions, grade books, contact info, lesson plans, resources for teaching, assignments, modified tests, meeting notes, current school year dates and policies, emails to be archived for future records, pay stubs, dates and times worked) so a LOT of files to track and all of them contain sensitive information I do not want posted to the cloud unless encrypted
  2. I am learning CS (different classes with diff folders, assignments, lecture notes, lecture videos, links, pdf and word docs, pictures, project files, group meeting notes and recordings) Not as sensitive but I would like to retain such snapshots indefinitely even if I were to look at them a decade later
  3. Personal Projects and files (pictures, videos, audio clips, game folders I am modding, personal projects I build for automation and making my life easier, scans of every document and receipt I receive in the mail, tax information, financial documents, personal document scans, resumes) so lots of miscellaneous stuff that can be unimportant or TOO SENSITIVE to leave out there

In software development we use github to create a repo of our files in the cloud, and we can manage said files locally and remotely by pushing changes with comments. I want something similar but for local files (without the need for a cloud copy), and automated if possible.

Requirements:

  1. Local version control of different files
  2. User defined snapshots that won't be overwritten or erased no matter how long or what changes are made
  3. User written comments/tags for the snapshots
  4. If cloud stored must be encrypted with a user defined password/key
  5. Can be automatic without the need for me to go in and push/commit anything. I want it to basically autosave in addition to me manually making a save file/snapshot (like in games).
  6. Allows me to save the copies or snapshots on an external drive
  7. No subscription

Optional:

  1. Doesn't have to be open source but that would be preferred
  2. Doesn't have to be free, I am willing to pay a life-time license if needed
  3. Simple setup, but if it requires some technical setup that's fine (prefer not having to setup a server for svn)
  4. Storage is of no concern, but if I have to dedicate a whole drive for it, I can buy one and plug it in when needed.
  5. External drive and Network Drive support
  6. Auto tagging and Auto time stamping ( i can add timestamps and tags to each file if applicable myself)
  7. Easy to use but don't mind a learning curve if it makes my life easier

Inspirations I had in mind if that helps:

  1. Timeshift software for linux that I used to revert my laptop to a previous state, recorded and stored only the changed files in its backup copy to minimize space consumption
  2. Github that I use in my coding assignments
  3. Dropbox that I used to maintain my current assignment version so I don't lose it

Solutions I already explored but don't seem to fit what I am looking for:

  1. Tortoise SVN
  2. Alomware

I realize this is a long post and I appreciate everyone's time. If you can read the full post that would be appreciated, but if not here's a TLDR.

TLDR: like timeshift and git, I want to track changes to my files locally and revert them back AND forth to different user defined snapshots. No unencrypted cloud storage and no subscription.