git push --mirror
создает точную копию всех веток, тегов и других ссылок локального репозитория в удаленный репозиторий, при этом перезаписывая существующие ссылки на удаленном репозитории. Она полезна для создания полных резервных копий или переноса репозитория. Использовать нужно с осторожностью, так как это может привести к потере данных на удаленном репозитории, если не соблюдать осторожность.
Команда git push --mirror
является мощным, но опасным инструментом, используемым для создания точной копии локального репозитория Git в удаленном репозитории. Она, по сути, синхронизирует все ветки, теги и другие ссылки между локальным и удаленным репозиториями, удаляя удаленные ссылки, которые не существуют в локальном репозитории.
Вот что происходит шаг за шагом:
git push --mirror
сначала удаляет все ветки и теги, которые существуют в удаленном репозитории, но не существуют в локальном репозитории. Это происходит перед отправкой новых данных. Это критично для понимания: если вы случайно удалили ветку локально и запустите git push --mirror
, она будет удалена и на удаленном репозитории!Когда это полезно:
git push --mirror
для создания точной копии на новом сервере.Почему это опасно:
git push --mirror
, ветка будет безвозвратно удалена и на удаленном репозитории. Это может привести к потере важной работы.git push --mirror
может нарушить работу других разработчиков, которые работают с удаленным репозиторием, особенно если она удаляет ветки, над которыми другие работают.git push
.В заключение: Используйте git push --mirror
с особой осторожностью и только когда абсолютно уверены, что понимаете последствия. Перед использованием рекомендуется сделать резервную копию удаленного репозитория.