From c162b9adbc2085c1834e1f4dd4a7920112b75dc5 Mon Sep 17 00:00:00 2001 From: antonov Date: Wed, 5 Aug 2026 21:31:39 +0300 Subject: [PATCH] Update README with restore scripts --- README.md | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/README.md b/README.md index 9a96315..00ea088 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Git Mirror Zip -Клонировать git-репозиторий полностью (все ветки, теги, refs) и упаковать в zip с максимальным сжатием. +Клонировать git-репозиторий полностью (все ветки, теги, refs) и упаковать в zip с максимальным сжатием. Или восстановить бэкап в целевой репозиторий. ## Требования @@ -9,14 +9,18 @@ ## Файлы -| Файл | ОС | Архиватор | -|------|----|-----------| -| `git-mirror-zip.sh` | Linux | `zip -9` | -| `git-mirror-zip-macos.sh` | macOS | `ditto -c -k` | -| `git-mirror-zip.bat` | Windows (CMD) | PowerShell `Compress-Archive` | -| `git-mirror-zip.ps1` | Windows (PowerShell) | `Compress-Archive` | +| Файл | ОС | Описание | +|------|----|----------| +| `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 | -## Использование +## Бэкап ```bash # Linux / macOS @@ -32,6 +36,22 @@ git-mirror-zip.bat https://github.com/user/repo.git my-repo.zip Второй аргумент (имя zip) опциональный, по умолчанию `repo.zip`. +## Восстановление + +```bash +# 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` копирует: @@ -40,4 +60,4 @@ git-mirror-zip.bat https://github.com/user/repo.git my-repo.zip - Все refs (notes, stash и т.д.) - Полную историю коммитов -Временная директория `.tmp_git_mirror` создаётся при работе и автоматически удаляется после завершения. +Временная директория `.tmp_git_mirror` / `.tmp_restore_mirror` создаётся при работе и автоматически удаляется после завершения.