Синхронизация репозиториев без возможности проталкивать и извлекать коммиты - PullRequest
1 голос
/ 02 июня 2011

На данный момент я не могу использовать git-сервер, поэтому я использую одну из моих любимых функций git, которая превращает любой каталог на моем компьютере в git-репо (просто вещь git init).

Я использую это, потому что я был единственным программистом и мог отслеживать свои собственные вещи. Сейчас все немного изменилось, и я работаю с небольшой командой. Некоторые другие вещи, однако, не изменились, и я все еще не могу иметь git-сервер, поэтому локальные репозитории по-прежнему являются единственным вариантом.

Самая простая процедура заключается в том, чтобы распространить код другим парням, как архивирование моего репозитория и его пересылка. Когда они закончили, они отправили мне их обратно, и я заменил исходный репо Работает нормально, так как у нас почти никогда не бывает двух человек, работающих в одном репо из-за организации проектов.

Теперь я хотел бы сделать что-то более последовательное ... например, объединить все, что мне отправляют, в мое локальное хранилище. Этот пример позволил бы мне в конечном итоге иметь двух человек, работающих в одном репо (или, возможно, его подмножествах).

Я читал о скриптах git patch. Но, честно говоря, я не чувствовал себя очень комфортно с решением. Во-первых, потому что в моих первоначальных экспериментах это не сработало сразу (да, я знаю, это просто вопрос лучшего понимания, но все же не так интуитивно, как остальная часть git), а во-вторых, потому что мои репозитории также будут содержать двоичные файлы, которые я нужно также контролировать ... не уверен, что патчи справятся с этим: /

Какую процедуру вы, ребята, предложили бы организовать? есть ли команда, которая позволила бы мне объединить репозитории так, как я описал?

Спасибо!

е.

Ответы [ 3 ]

2 голосов
/ 02 июня 2011

Как насчет отправки друг другу путей?

git format-patch и git am могут удовлетворить ваши потребности. Я использовал его в прошлом, и он достаточно хорошо работает для отправки нечастых изменений.

1 голос
/ 02 июня 2011

Хорошая вещь в распределенном управлении версиями заключается в том, что вам не нужен только один сервер, к которому все могут обращаться постоянно.Вы можете иметь столько серверов, сколько вам нужно.Вы можете настроить сервер или общий каталог внутри брандмауэра компании, для всех, у кого есть доступ к использованию, и чтобы ваши удаленные сотрудники настраивали свой собственный локальный ssh ​​или что-то, что вы можете при необходимости извлекать и извлекать.

Если вы хотите продолжить работу с почтовыми репозиториями в виде zip-файлов, все, что вам нужно сделать, это вместо замены основного локального репо, распаковать его в отдельную папку, а затем сделать git pull из этой папки в вашем основном репо, чтобыобъединить его. Не так эффективно с точки зрения пропускной способности, как git format-patch, но немного более знаком с вашим конкретным рабочим процессом.

1 голос
/ 02 июня 2011

Если у вас есть какой-то способ настроить общий каталог, даже если он находится на чьем-то компьютере, вы можете сделать там git init и попросить всех добавить этот репозиторий как удаленный. Это не так чисто, как иметь gitolite или что-то вроде SSH, но должно работать просто отлично.

...