Soft
April 16, 2022

Пакетное скачивание репозиториев Github

Функционал скрипта:

  • Клонировать все репозитории одного пользователя
  • Клонировать все репозитории нескольких пользователей
  • Клонировать все репозитории одной организации
  • Клонируйте все репозитории нескольких организаций
  • Клонировать все репозитории организации на размещенном Github
  • Изменить количество используемых потоков
  • Клонировать все репозитории организации вместе со всеми репозиториями членов организации
  • Используйте аутентификацию Github в задаче
  • Клонируйте аутентифицированные репозитории, к которым имеет доступ аутентифицированный пользователь
  • Включите gists
  • Сохранить репозитории как username_reponame
  • Сохранить репозитории как username/reponame
  • Сохранить репозитории как reponame
  • Исключить список репозиториев, разделенных запятыми
  • Распечатайте только собранные URL-адреса, а затем выйдите

Требования:

  • Python2 or Python3
  • requests
  • gitpython

Скачать файлы скрипта (репозиторий Github, Mega, Google Drive) в одну папку;

Находясь в папке, выполнить команду: ./githubcloner.py --help;

Если в качестве результата получаете что-то похожее (см скриншот),

то можем продолжать.

Использование:

Помощь

./githubcloner.py --help

Клонировать все репозитории одного пользователя.

./githubcloner.py --user user -o /tmp/output

Клонировать все репозитории нескольких пользователей.

./githubcloner.py --user user1,user2,user3 -o /tmp/output

Клонировать все репозитории одной организации.

./githubcloner.py --org organization -o /tmp/output

Клонируйте все репозитории нескольких организаций.

./githubcloner.py --org organization1,organization2 -o /tmp/output

Клонировать все репозитории организации на размещенном Github

./githubcloner.py --org organization -o /tmp/output --api-prefix https://git.company.com/api/v3

Изменить количество используемых потоков

./githubcloner.py --user user --threads 10 -o /tmp/output

Клонировать все репозитории организации вместе со всеми репозиториями членов организации.

./githubcloner.py --org organization --include-org-members -o /tmp/output

Используйте аутентификацию Github в задаче.

./githubcloner.py --org organization -o /tmp/output --authentication user:token

Клонируйте аутентифицированные репозитории, к которым имеет доступ аутентифицированный пользователь.

./githubcloner.py -o /tmp/output --authentication user:token --include-authenticated-repos

Включая gists.

./githubcloner.py --user user -o /tmp/output --include-gists

Сохранить репозитории как username_reponame

./githubcloner.py --user user -o /tmp/output --prefix-mode underscore

Сохранить репозитории как username/reponame

./githubcloner.py --user user -o /tmp/output --prefix-mode directory

Сохранить репозитории как reponame

./githubcloner.py --user user -o /tmp/output --prefix-mode none

Исключить список репозиториев, разделенных запятыми

./githubcloner.py --user user -- exclude_repos repo1,repo2,repo3,...

Распечатайте только собранные URL-адреса, а затем выйдите.

./githubcloner.py --user user --include-gists --echo-urls


ıllıllı ITHard © 20th CF ıllıllı