Как клонировать избранные репозитории GitHub параллельно без ограничения скорости, пример на 25 репозиториев одновременно.

GITUSER=$(whoami); curl "https://api.github.com/users/${GITUSER}/starred?per_page=1000" | grep -o 'git@[^"]*' | parallel -j 25 'git clone {}'


Команда gituser=$(whoami); curl "https://api.github.com/users/${gituser}/starred?per_page=1000" | grep -o 'git@[^"]*' | parallel -j 25 'git clone {}' выполняет следующие действия:

1. Получает имя пользователя текущего пользователя и сохраняет его в переменную gituser.
2. Запрашивает избранные репозитории пользователя с помощью команды curl, обращаясь к API GitHub.
3. Используя команду grep, находит строки, содержащие адреса репозиториев (git@[^"]*).
4. С помощью утилиты parallel запускает процесс клонирования репозиториев в фоновом режиме. При этом процессы клонирования выполняются параллельно.
5. Ключ -j 25 означает, что одновременно будет выполняться клонирование 25 репозиториев. Это значение можно изменить на любое другое в соответствии со своими потребностями.

Команда полезна для быстрого и эффективного клонирования большого количества репозиториев избранных других пользователей на GitHub. Альтернативой может быть клонирование репозиториев вручную с использованием команды git clone для каждого репозитория. Передаваемыми аргументами являются имя пользователя и ссылка на его избранные репозитории.

Ответить

Ваш адрес email не будет опубликован. Обязательные поля помечены *