If you want to save everything you need to include all of conf and most of userdata. You’ll skip the cache and tmp folders and any of the backup folders (there will be a backups under jsondb and another one just under userdata created every time you upgrade your container.
You definitely want etc, config, jsond, any of the folders created by an addon, and persistence folders as those all hold configuration and saved data.
If pushing all of that to your personal git server is “too much bloat” than you should look for some other backup and restore approach.
I don’t care about any bloat on this (maybe someday I will but I don’t for now). So my .gitignore is
I don’t really care about backing up my persistence stuff (MapDB/rrd4j) so I exclude it too. But that does mean that this isn’t really a complete backup.