You are correct that using version control for Odoo is a good way to manage different branches for different stages of your installation. Git is commonly used for version control in Odoo, and it can handle both module/app code as well as QWeb additions and changes.
When you make changes to the website using the Odoo GUI editor, those changes are typically stored in the Postgres database. To version control these changes, you can use git to track the changes in the database.
Here's an example of how you can set up version control for your Odoo website:
Create a git repository to store your Odoo code and database.
Use the Odoo Backup module to export the database from your production server.
Commit the exported database to your git repository.
Set up a development and staging server, and clone the git repository to these servers.
Use the Odoo Backup module to restore the database to your development and staging servers.
When you make changes to your website in development or staging, use the Odoo Backup module to export the updated database and commit it to your git repository.
When you're ready to deploy changes to your production server, merge the changes from your development or staging branch to your master branch, and restore the updated database on your production server.
It is worth mentioning that the above approach is just one way to handle version control for the website changes.
Also, it's important to keep in mind that version controlling the database is not enough, it's also important to version control the files and addons, as well as the custom code that you wrote.