Как перенести репозиторий git?
Здравствуйте, как перенести всю историю с ветками и тегами на другой сервер? Целевой репозиторий уже создан пустым, исходный пока должен остаться доступным
Работа и карьера
Программирование
Компьютеры и связь
Учёба и образование
Животные и питомцы
Ваш вопрос
Здравствуйте, как перенести всю историю с ветками и тегами на другой сервер? Целевой репозиторий уже создан пустым, исходный пока должен остаться доступным
4.20
| Этап | Действие |
|---|---|
| Копия | git clone --mirror <источник> migration.git |
| Назначение | Проверьте адрес нового пустого репозитория |
| Перенос | Из зеркала выполните git push --mirror <назначение> |
| Проверка | Сопоставьте ветки, теги и доступность клонирования |
Mirror может перезаписывать и удалять ссылки назначения. LFS и данные платформы переносятся отдельно.
Для переноса Git-истории в новый пустой репозиторий сделайте отдельную зеркальную копию: git clone --mirror <исходный_адрес> migration.git. Затем перейдите в неё и выполните git push --mirror <целевой_адрес>, заменив обозначения настоящими адресами.
Перед отправкой внимательно проверьте назначение. Параметр --mirror синхронизирует ссылки целевого репозитория с локальным зеркалом, включая принудительные обновления и удаления отсутствующих ссылок. Поэтому пример рассчитан на проверенный новый пустой адрес, а не существующий рабочий проект коллег.
После переноса сравните ветки и теги и проверьте обычное клонирование с нового сервера. Git LFS требует отдельного переноса объектов. Задачи, обсуждения, права доступа, настройки CI и файлы релизов таким push не переносятся. Исходный сервер не удаляйте до завершения проверки.
Пока нет премиум-вопросов в подборке
Не нашли то, что искали?
Задайте свой вопрос
Ответить на вопрос