Фактически всё примитивно. Есть "база данных с кодом" в ремоуте, на гите
Есть её копия, полная или не полная локально
Когда надо забрать то что лежит удалённо - делаешьь пулл
Когда надо запихать на удалёнку то что лежил толкально делаешь пуш
Дальше локально можешьь мерджить, создавать, чё угодно делать, пока не сделаешь пуш это чисто твои проблемы на чисто твоей копии.