Files
git-mirror-zip/README.md
T

2.5 KiB

Git Mirror Zip

Клонировать git-репозиторий полностью (все ветки, теги, refs) и упаковать в zip с максимальным сжатием. Или восстановить бэкап в целевой репозиторий.

Требования

  • Git — установлен и доступен в PATH
  • Никаких дополнительных зависимостей

Файлы

Файл ОС Описание
git-mirror-zip.sh Linux Скачать репо в zip
git-mirror-zip-macos.sh macOS Скачать репо в zip
git-mirror-zip.bat Windows (CMD) Скачать репо в zip
git-mirror-zip.ps1 Windows (PowerShell) Скачать репо в zip
git-restore-zip.sh Linux Восстановить из zip
git-restore-zip-macos.sh macOS Восстановить из zip
git-restore-zip.bat Windows (CMD) Восстановить из zip
git-restore-zip.ps1 Windows (PowerShell) Восстановить из zip

Бэкап

# Linux / macOS
chmod +x git-mirror-zip.sh
./git-mirror-zip.sh https://github.com/user/repo.git my-repo.zip

# Windows CMD
git-mirror-zip.bat https://github.com/user/repo.git my-repo.zip

# Windows PowerShell
.\git-mirror-zip.ps1 https://github.com/user/repo.git my-repo.zip

Второй аргумент (имя zip) опциональный, по умолчанию repo.zip.

Восстановление

# Linux / macOS
chmod +x git-restore-zip.sh
./git-restore-zip.sh my-repo.zip https://git.example.com/user/repo.git

# Windows CMD
git-restore-zip.bat my-repo.zip https://git.example.com/user/repo.git

# Windows PowerShell
.\git-restore-zip.ps1 my-repo.zip https://git.example.com/user/repo.git

Скрипт распакует архив, переключит remote на целевой репозиторий и выполнит git push --mirror, тем самым восстановив все ветки, теги и refs.

Что внутри архива

git clone --mirror копирует:

  • Все ветки (локальные и удалённые)
  • Все теги (лёгкие и аннотированные)
  • Все refs (notes, stash и т.д.)
  • Полную историю коммитов

Временная директория .tmp_git_mirror / .tmp_restore_mirror создаётся при работе и автоматически удаляется после завершения.