Как справиться с более 50 репозиториев на GitHub?

Как справиться с более 50 репозиториев на GitHub?


Допустим есть ситуация, когда у тебя много проектов на github и ты хочешь хранить локальную копию всех проектов на разных устройствах и носителях. У тебя есть простой вариант - указать список репозиториев, написать bash скрипт, который бы клонировал все репозитории, и еще один bash скрипт, который бы их всех обновлял. Но bash скрипты не очень приятная вещь, когда ты знаешь python. С python будет по легче, но не забудь тебе придётся писать асинхронные REST API запросы к серверу GitHub для получения списка репозиториев, потому что писать вручную список репозиториев долго, потом тебе придётся разобраться как обновлять и копировать репозитории в многопоточном режиме, потому что синхронное обновление даже 40 репозиториев это 2 минуты ожидания. В общем работенка на два вечера + документация проекта + тестирование, в итоге 3 дня разработки для достижения поставленной цели. Но зачем тебе это делать когда это уже сделали ?


Проект git_clones

Документация git_clones

Получаем список всех репозиториев у указанного пользователя. В итоге вы получите файл ./look.json в котором будет храниться информация о пользователи, и список репозиториев. Обратите внимание, что приватные репозитории не будут получены, их нужно указывать вручную в этом же файле look.json.

gitclones getrep ИмяПользователяGitHub

После того как вы получили список репозиториев, выполните эту команду для их клонирования. В опцию -o укажите куда клонировать репозитории.

gitclones clones -o ПутьКудаКлонировать

После того как вы клонировали репозитории, вы можете за одну команду выполнить git pull для всех репозиториев.

gitclones cmd pull -i ПутьК_ПапкеС_Репозиториями



Report Page