The approach you described is generally the best way to do this. Git does very well even if you merge stuff back and forth a lot. Of course, if you change the same part of the code in both master
and website1
, the merge from master
to website1
will create conflicts, but those are pretty much a normal part of merging anyway.
Whether you use multiple branches in one repo or several repos doesn't make that much of a difference. After all, you can fetch/push from/to multiple repositories. That said, in my opinion multiple branches in one repo are just fine for your scenario.