Git - это DVCS. «D» означает «Распределенный». Моей первой реакцией было бы воспользоваться этим. Иметь сервер gitlab в Германии, а другой в США. Пусть они регулярно выбирают друг друга. Это станет асинхронным процессом, так что вы не будете ждать получения коммитов и веток, хотя будет информационная задержка, если что-то просто будет перенесено в другую юрисдикцию.
Итак, большую часть дня в Германии вы отправляете свои коммиты в местный gitlab, и он регулярно синхронизируется с сайтом в США. Когда ваши коллеги из США входят, большая часть вашей работы уже продвинута, и они могут быстро загрузить их на свои рабочие станции. Когда они выполнят свою работу, они в конечном итоге синхронизируются с Германией, так что когда вы начинаете свой следующий день, он уже в основном локальный.
В git нет ничего, что говорило бы, что может быть только один "главный сервер". Может быть, для простоты вы управляете запросами на получение только на одном сайте, но большая часть работы будет синхронизироваться, когда никто не ждет его, что заставляет его чувствовать себя быстрее, чем на самом деле.