Что означает флаг --mirror в git clone?
Флаг --mirror
в команде git clone
означает следующее:
-
Полное клонирование репозитория: Флаг
--mirror
создает точную копию удаленного репозитория, включая все ветки, теги, рефспеки и конфигурации. -
Копирование всех ссылок: Все ссылки (refs) и конфигурационные данные клонируются. Это включает в себя не только стандартные ссылки (как в случае с
--bare
), но и все другие ссылки, такие как удаленные ветки и конфигурации. -
Отсутствие рабочей директории: Подобно
--bare
, репозиторий клонируется без рабочей директории, что означает, что он не содержит проверенных файлов и используется только для хранения данных репозитория. -
Идеально для зеркальных репозиториев: Это удобно для создания зеркал репозиториев, которые должны быть точными копиями оригинала, включая все метаданные и ссылки.
Пример использования
Когда вы используете git clone --mirror
, результат будет таким:
git clone --mirror https://github.com/user/repository.git
Это создаст директорию repository.git
, которая будет содержать точную копию удаленного репозитория. В отличие от обычного клонирования, где рабочая директория создается и инициализируется, --mirror
клонирует только данные репозитория и метаданные.
Отличие от флага --bare
Хотя --bare
также создает репозиторий без рабочей директории, разница между --bare
и --mirror
заключается в том, что --mirror
также клонирует все ссылки и конфигурационные данные.
git clone --bare
: Создает “голый” репозиторий без рабочей директории, копируя только стандартные ссылки и ветки.git clone --mirror
: Создает “зеркальный” репозиторий, копируя все ссылки и конфигурационные данные.
Таким образом, флаг --mirror
используется для создания полной зеркальной копии репозитория, включая все ссылки и конфигурации.