Как системный администратор я хотел бы иметь возможность написать автоматизированный процесс установки на производственный сервер, который:
git.mycompany.com
)release_20110721_01
) из репозиторияДругими словами, имейте центральный репозиторий, содержащий все версии, но затем установите на рабочие серверы только определенный тег.
Есть способ сделать это? По крайней мере, с помощью CVS можно получить рабочую копию модуля с заданным тегом без необходимости извлекать копию всего репозитория.
Это основное различие между централизованной VCS (например, CVS) и DVCS (Distributed): вы всегда клонируете все содержание репо, даже если вы можете выполнить мелкий клон, так как Олипро упоминает.
Создание поверхностного клона только одной ветви возможно, но сложно: см. "Частичное клонирование с помощью Git и Mercurial".
Но я рекомендую не использовать Git в качестве инструмента управления выпусками / развертывания: "Как неглубоко клонировать одну ветку в git?".
Я бы предпочел пойти с git archive
чтобы заархивировать нужную ветку / версию, а затем скопировать ее на соответствующий сервер.
обязательно сделайте ваш центральный репозиторий доступным для неподготовленного рабочего сервера, выполните клонирование git с сервера, используя -b
и --depth
параметры, чтобы указать, какую ветку вы хотите, а также глубину ревизии, которую сервер должен иметь для него.