Новое Распределяем каналы MAX по категориям и территориям. Читать новость

Как скачивать репозитории из github через PowerShell.



Для загрузки репозиториев необходимо в начале установить git:

https://git-scm.com/downloads/win



Далее если нам известен репозиторий:

git clone https://github.com/"ПОЛЬЗОВАТЕЛЬ"/"РЕПОЗИТОРИЙ".git



Так же можно вывести репозитории списком с помощью скрипта:

try {
# Получаем данные через настроенный в Git помощник авторизации.
# Ответ сохраняется в переменную, чтобы не показывать токен.
$gitCredential = "protocol=https`nhost=github.com`n`n" |
git credential fill

if ($LASTEXITCODE -ne 0) {
throw "Не удалось авторизоваться через Git."
}

$token = ($gitCredential |
Where-Object { $_ -like "password=*" } |
Select-Object -First 1) -replace "^password=", ""

if ([string]::IsNullOrWhiteSpace($token)) {
throw "Git не вернул токен."
}

$headers = @{
Authorization = "Bearer $token"
Accept = "application/vnd.github+json"
"User-Agent" = "PowerShell"
}

$repos = @(
$page = 1
do {
$url = "https://api.github.com/user/repos?per_page=100&page=$page"
$response = Invoke-RestMethod `
-Uri $url -Headers $headers -ErrorAction Stop

$batch = @($response | Where-Object { $_.full_name })
$batch
$page++
} while ($batch.Count -eq 100)
)

$result = @($repos | Where-Object { $_.owner.login -eq "ПОЛЬЗОВАТЕЛЬ" })

Write-Host "Найдено: $($result.Count)"
$result |
Select-Object full_name, private, clone_url |
Format-Table -AutoSize
}
finally {
Remove-Variable gitCredential, token, headers -ErrorAction SilentlyContinue
}
Просмотры: 10
Открыть в MAX Сообщить о неточности

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти