Это решение имеет смысл: определите общий референс (здесь Git-репо), к которому у вас обоих есть доступ.
Обратите внимание, что даже если у вас не было какого-либо способа доступа к общему репо,вы все еще можете обмениваться коммитами через git bundle (репо, сжатый как один файл, из которого вы можете извлечь)
Но в этом сценарии, новыйКоммиты лучше всего помещать в выделенную ветку: вы нажимаете на companyA
ветку, а они передают свою фиксацию на companyB
ветку.
После того, как вы извлекаете из этого общего репо, вы можете затем примирить (объединить) origin/companyB
в вашу собственную ветку, сделайте ваши новые коммиты и отодвиньтесь, но на companyA
ветке.
Таким образом, вы разрешите любой конфликт локально, и можете в любое время без каких-либо проблем выдвинуть, учитывая одновременная работа.