ГИТ-синхронизация
- Высочайшая производительность
- Основан на современных версиях bash и awk (необходимо обновить в Mac OS)
- Сложно для модификаций.
- Удаление и создание веток в другом репозитории.
- Более надежный для воссоздания синхронизации с любой позиции и с нуля.
- Подготовлено для дополнительного уведомления автоматизации.
- Для синхронизации используется один не пустой Git-репозиторий.
Чистый мерзавец с соглашением по мерзавцу
- Гораздо больше настраиваемых
- Медленнее
- Если во время синхронизации вы совершите переход на другую сторону, этот запрос может быть отклонен (потребуется вторая попытка)
- Минимальные технические зависимости
- Вы не можете удалить ветви на другой стороне.
- Хранилища Bare Git используются для синхронизации.
Общие заметки
- Не зависит от реализации Git-сервера.
- Имейте защиту от случайных удалений.
- Проверено в производстве в течение длительного времени.
- Синхронизация Git-тегов была удалена, потому что GitLab любит блокировать удаление тегов.
- Отказоустойчивость и автоматическое восстановление синхронизации поддерживается. Особенно для проблем с сетью.
- Разработанный, чтобы покрыть сотни случайных вещей, я не описываю здесь.
Как пользоваться
- Выберите префикс для каждого хранилища. Только ветки с такими префиксами будут синхронизированы. См. Соглашение об именах ниже.
- Опишите ваши оба репозитория в простом конфигурационном файле
- Периодически запускается скрипт синхронизации
- Решение применяется для каждого хранилища (против сервера). Может быть создано любое количество пар синхронизации.
Соглашение об именовании
Это любое префиксное имя. Каждая сторона имеет свой префикс, и конфликты без ускоренной пересылки для префиксных ссылок Git будут решаться в пользу владельца.
Примеры
company1/
разрабатывают, company2-
разрабатывают
company1/
JIRA-123, company2-
JIRA-321
Другие идеи
Подходы для синхронизации удаленных репозиториев Git
Ситуация
Скажем, у нас есть команды в отдельных компаниях. Каждая команда имеет свой собственный репозиторий, размещенный на отдельном git-сервере. Это часто случается для сценариев поставщик-клиент.