Update README with restore scripts

This commit is contained in:
2026-08-05 21:31:39 +03:00
parent d978491bfc
commit c162b9adbc
+29 -9
View File
@@ -1,6 +1,6 @@
# Git Mirror Zip # Git Mirror Zip
Клонировать git-репозиторий полностью (все ветки, теги, refs) и упаковать в zip с максимальным сжатием. Клонировать git-репозиторий полностью (все ветки, теги, refs) и упаковать в zip с максимальным сжатием. Или восстановить бэкап в целевой репозиторий.
## Требования ## Требования
@@ -9,14 +9,18 @@
## Файлы ## Файлы
| Файл | ОС | Архиватор | | Файл | ОС | Описание |
|------|----|-----------| |------|----|----------|
| `git-mirror-zip.sh` | Linux | `zip -9` | | `git-mirror-zip.sh` | Linux | Скачать репо в zip |
| `git-mirror-zip-macos.sh` | macOS | `ditto -c -k` | | `git-mirror-zip-macos.sh` | macOS | Скачать репо в zip |
| `git-mirror-zip.bat` | Windows (CMD) | PowerShell `Compress-Archive` | | `git-mirror-zip.bat` | Windows (CMD) | Скачать репо в zip |
| `git-mirror-zip.ps1` | Windows (PowerShell) | `Compress-Archive` | | `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 ```bash
# Linux / macOS # Linux / macOS
@@ -32,6 +36,22 @@ git-mirror-zip.bat https://github.com/user/repo.git my-repo.zip
Второй аргумент (имя zip) опциональный, по умолчанию `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` копирует: `git clone --mirror` копирует:
@@ -40,4 +60,4 @@ git-mirror-zip.bat https://github.com/user/repo.git my-repo.zip
- Все refs (notes, stash и т.д.) - Все refs (notes, stash и т.д.)
- Полную историю коммитов - Полную историю коммитов
Временная директория `.tmp_git_mirror` создаётся при работе и автоматически удаляется после завершения. Временная директория `.tmp_git_mirror` / `.tmp_restore_mirror` создаётся при работе и автоматически удаляется после завершения.