Второй вариант более правильный.
Клонируйте репозиторий из Github, и эта ветвь будет автоматически установлена как origin
ветвь.
Добавьте внутреннюю удаленную ветвь как восходящую по команде:
git remote add upstream <url_of_repo>
При вытягивании сделать это:
git pull origin <branch-name>
при нажатии сделать это:
git push upstream <branch-name>
Это нормальный поток мерзавцев, и я не думаю, что у этого потока будут какие-либо недостатки.
Надеюсь, это поможет!