So you just build your app and pushes the "binary" output on Github Pages?
It would be better to push the output dir to another branch folder and force push it when you update.
Your additional point about force pushing is a good one also. While I’ve been using separate branch I’ve still been commiting each new build as a new commit. But overwriting the initial commit makes a lot more sense actually.