Я делаю это все время и использую следующий рабочий процесс, используя github в качестве авторского главного хранилища, когда я не сижу за компьютером:
Когда я покидаю компьютер, я всегда do
git push -f
Когда я прихожу к компьютеру, я делаю
git fetch -v
git reset --hard origin/master # Assuming branchname is master
Пока я всегда делаю одно и то же, я знаю, что моя последняя работа всегда на github, и яперебазировать все, что я хочу
Обычно я также устанавливаю
git config --global push.default current
, чтобы выдвигать только ветку, которую я извлек, что я считаю почти обязательным при использовании большого принудительного толчка.