Как мне увидеть репозитории, созданные вами в Github, через командную строку?
Можно сделать HTTP-запрос GET к REST GitHub API для запросов списка репозиториев, принадлежавших данному пользователю. Я буду использовать wget
для запроса, который должен прибыть предварительно установленный в Ubuntu. Альтернативный инструмент мог быть, например. curl
.
Ответ является довольно большим объектом JSON, поэтому я решил использовать jshon
(установите его с sudo apt install jshon
) как синтаксический анализатор JSON, чтобы только извлечь названия репозитория. Вы могли также просто посмотреть на полный ответ или использовать любые другие методы парсинга, которые Вы любите. Если это только для читателей, и Вы не заботитесь очень о форматировании, просто передавая его по каналу через grep full_name
должен уже быть достаточным.
Так, давайте запустимся с команды. Для получения списка моего общедоступного GitHub repos (имя пользователя является "ByteCommander", очевидно), я выполнил бы это:
wget -qO- 'https://api.github.com/users/ByteCommander/repos' | jshon -a -e 'full_name' -u
Необходимо получить некоторый вывод, подобный тем строкам (еще многие...):
ByteCommander/AdventOfCode
ByteCommander/ByteCommander.github.io
ByteCommander/ChatExchange6
ByteCommander/dynamodb-local
Команда выше может быть разломана на Запрос HTTP, сделанный wget
, который произвел его ответ на STDOUT и переданный по каналу в синтаксический анализатор JSON, который извлекает релевантную информацию.
wget -qO- 'https://api.github.com/users/ByteCommander/repos'
Это, очевидно, отправляет запрос к данному URL. Замена ByteCommander
с Вашим соответствующим именем пользователя GitHub. -qO-
опции, которые изменяют как wget
производит ответ. Это коротко для -q
(тихий, никакой вывод прогресса/состояния) и -O -
(выходной файл является STDOUT). Читайте больше об этом в man wget
.
jshon -a -e 'full_name' -u
Это делает jshon
чтение синтаксического анализатора данные JSON из STDIN (где wget
вывод передается по каналу), и анализирует его согласно указанным опциям. -a
применяет следующую операцию на все элементы массива ответа: -e 'full_name'
, который извлекает "full_name"
свойство объектов к этому относятся. -u
наконец просто удаляет кавычки вокруг значений извлеченной строки. Читайте больше об этом в man jshon
.
Можно найти подробное объяснение GitHub v3 REST API и особенно конечной точки пользовательских репозиториев списка и ее формата ответа JSON в их официальной документации.