Your comment about "updating [gpkg] files that have not been changed" leads me to suspect that, in your case, the problem is related to Why does simply opening a geopackage (gpkg) "modify" the file?, i.e. that gpkg files to which no actual edits were made are labelled as updated due to journalling. Then svn sees them as being changed and therefore re-updates them.
If this is the case, then:
Make sure you are using QGIS version 3.26 or higher, since a change was made to the gpkg journalling mode in 1st half 2022 that stops this update if indeed no layers in the gpkg have been opened in edit mode, just in "read" mode. (There were some initial gremlins in this change, but I think the final fix was in https://github.com/qgis/QGIS/pull/48692, which made it into QGIS v 3.26.)
Alternately, or in addition to be on the safe side, if you are sure the gpkgs will not actually get edits made to them, you could make them read-only at the operating system level (e.g. in Windows, set Attribute read-only in Properties in Explorer for the file).
The above is a solution in case you can segregate your layers into those that are actively being edited versus those that are (at least temporarily) read-only, and make sure the read-only ones are kept in different gpkgs from those that are being changed. If you are moving from shapefile (congrats!) and keeping individual layers as separate gpkg files, just as they were separate shp files before, this will naturally be true. However, you will soon discover that, apart from this versioning issue, gpkgs also have the ability to act as a container for multiple layers in one file. This is very powerful in general, but if you do edit but one feature in one layer in a gpkg, svn and similar SCS will need to store that whole gpkg. This is then a fundamental limitation, and the recommendation in Ian Turton's answer to use a more sophisticated RDMS is the best solution.