Я знаю, что git распространяется, и, честно говоря, мне нравится это свойство.
Ситуация такова, что я был единственным разработчиком программного обеспечения, которым я управлял с помощью git с момента его создания, в моем локальном хранилище. Так было всегда - другими словами, в настоящее время существует только один репозиторий, в котором я фиксирую и объединяю данные, а главную ветку держу в состоянии «публичного выпуска».
Сейчас я нахожусь на грани отказа от исключительного контроля над проектом и буду делиться его базой исходного кода с другими разработчиками, которые будут вносить изменения самостоятельно. И поэтому мне нужно распространить свою копию проекта среди других. Естественно, я хотел бы продолжить свою будущую работу и иметь возможность просматривать и объединять другие работы обратно в свою копию - git предположительно был создан для выполнения.
Аспект проблемы заключается в том, что ни мой, ни другие компьютеры разработчиков не являются общедоступными (т.е. будут доступны в качестве серверов для ssh
или аналогичной службы), и мне сложно представить, насколько возможно для меня извлечь и объединить изменения из их копии репозиторий в мой, и наоборот. Однако проект включает в себя машину интрасети, которую мы можем использовать в качестве хоста репозитория, и на данный момент мне нужен совет о том, как лучше всего все это настроить.
Ни один из разработчиков (включая меня) не должен быть назначен доброжелательным диктатором проекта, однако в интересах управления мне будет поручено убедиться, что какая-то основная или другая ветка доступна для проверки общедоступных выпусков. Но я также не знаю, сколько других разработчиков присоединятся, то есть сколько распределенных копий у нас будет, и поэтому, возможно, потребуется «центральная» / главная копия репозитория, которую я буду единственным автором.
Боюсь, я не могу четко увидеть здесь общую картину. Как лучше всего это сделать?