Привет, сетевой друг! Сегодня про ghorg - утилиту для массового клонирования репозиториев. Даёте ей организацию или пользователя, а она сама собирает все доступные репозитории в одну директорию.🟣Зачем он: когда в организации десятки или сотни репозиториев, делать
git clone для каждого вручную - сомнительное удовольствие. ghorg подходит для аудита, локального поиска по всему коду, бэкапов и быстрого онбординга.ghorg clone kubernetes
На выходе получите примерно такую структуру:
~/ghorg/kubernetes/
├── apimachinery
├── kubeadm
├── git-sync
├── kubernetes-template-project
└── ...
🟣Можно не тащить всё подряд. Например, оставить только репозитории, начинающиеся с
sig-:ghorg clone kubernetes --match-regex=^sig-Или исключить форки и архивные репозитории:
ghorg clone kubernetes --skip-forks --skip-archived
🟣Интереснее режим бэкапа.
--backup использует git clone --mirror, а вместе с --clone-wiki и --include-submodules можно собрать гораздо более полный набор данных:ghorg clone kubernetes \
--backup \
--clone-wiki \
--include-submodules
🟣Есть и сценарий регулярного обновления: если репозиторий уже скачан, следующий запуск не клонирует его заново, а делает pull и clean. Для рабочих каталогов это важно учитывать: локальные изменения по умолчанию могут быть затёрты. Если нужно сохранить их, используется
--no-clean.🟣А если таких наборов несколько, команды можно сохранить в
reclone.yaml и запускать одной командой:ghorg reclone
Для этого же есть HTTP-сервер и cron-режим - уже получается вполне нормальная автоматизация бэкапов и периодической синхронизации.
Серверная Админа | Zeroday | #Инструмент
