Как работать с разными ветками git?
Это абсолютно не правильный подход.
Бекенд определенной версии не может существовать без фронтенда подходящей версии.
Когда они разбиты по разным веткам - вы задолбаетесь это все релизить.
Почитайте про git-flow habrahabr.ru/post/106912
Вы неверно мыслите. Git - не система иерархий, а система контроля версий. Не важно что где лежит, а важно как с этим работают.
Если это три независимых сайта - делайте 3 репозитория. Если у них есть что-то общее (используют одни стили, например), то общие изменения делайте в master (origin-ом обычно называют основной репозиторий для синхронизации, а не ветку) и потом вливайте этот master во все три ветки для каждой части сайта, а изменения которые НИКОГДА НЕ БУДУТ ПЕРЕНЕСЕНЫ в другие ветки - в ветке для соответствующей части сайта.