@gkpy I assume by "dotfiles" you simply mean "config files" as there should be nothing in your /etc/portage directory that's hidden. For all configs I want to backup, I just keep a copy of them elsewhere. As for portage stuff, I just copy my make.conf, and everything in each repos.conf and package.* directories.
If you want to simplify a complex solution to an already simple thing, take a look at bare git worktrees.
@nyan Yes, always backup world if nothing else. How the hell'd I forget that!. I usually symlink it to /etc but then forget I did when updating backups. Worst case, I wind up with a slightly old world file if I need no rebuild.