You've three clusters - dev, staging and prod. Whenever you update the application GitOps repo, all three clusters are being updated. What's the problem with that and how to deal with it?
Answer
You don't usually want to go and update all of your clusters at once, especially when some for testing and development purposes and some for actual production usage.
There are multiple ways to deal with it:
Branch driven: Have branches for your GitOps repo where you push first to development, do some testing, merge it then to staging and if everything works fine in staging, you merge it to production.
Use overlays and Kustomize to control the context of where your changes synced based on the CI process/pipeline used.