Cloning and automatic output parent

I’ve got a scenario where I have several sites, and I’d like to share repos across all sites. I was thinking I would designate one site as the “master” site and use triggers to push updates to all of the other sites,

This means than when somebody clones a repo from our local repo copy master, we’d like the output parent to be automatically set to the correct value - the designated master repo instance. If I clone from the local site master to my home directory and then clone from my home directory somewhere else, the new clone would have a single parent pointer to the instance in my home directory. The “original” clone in my homedir would have the input (pull) parent be the site-local repo, but the output (push) parent would be to the “master” instance.

Is this a sane/reasonable way to go? Or should we just commit to our site-local master repo, and then there would be a trigger to send that commit upstream?

The upstream site would have triggers to push changes out to each site’s local master copy.

I hope this made sense. If it matters, I don’t expect we’ll have lots of activity. But even so, part of me wonders if any collisions will cause “cleanup drama” that would be avoided if we made sure to push all changes to a single repo instance.