Проблемы с загрузкой Git архивных архивов из Private Repo
Мне нужна возможность загрузить наше приложение по определенным тегам, но я не могу найти для этого рабочего решения. Загрузка tarballs на основе тега git кажется многообещающим, но я не могу заставить его работать с помощью Curl. Я пробовал следующее, но все, что я верну, является источником для страницы github 404.
curl -sL https://github.com/$ACCOUNT/$PRIVATE_REPO/tarball/0.2.0.257m?login=$MY_USER_NAME&token=$MY_TOKEN > 0.2.0.257m.tar
Ответы
Ответ 1
Для публичного репо вы этот смысл перечисляет несколько примеров:
wget --no-check-certificate https://github.com/sebastianbergmann/phpunit/tarball/3.5.5 -O ~/tmp/cake_phpunit/phpunit.tgz
Для частного репо попробуйте передать свою учетную информацию в директиве post:
wget --quiet --post-data="login=${login}&token=${token}" --no-check-certificate https://github.com/$ACCOUNT/$PRIVATE_REPO/tarball/0.2.0.257m
Или используйте команду curl, как в вопросе SO "git, эквивалентный svn export
или обходному пути github", также подробно объясняется в:
" Учебник по скручиванию с использованием API GitHub.
Отчет OP Steven Jp, сделавший команду curl
:
Последняя команда curl закончила выглядеть примерно так:
curl -sL --user "${username}:${password}" https://github.com/$account/$repo/tarball/$tag_name > tarball.tar
(в нескольких строках для удобочитаемости)
curl -sL --user "${username}:${password}"
https://github.com/$account/$repo/tarball/$tag_name
> tarball.tar
Ответ 2
После создания токена доступа,
вы можете использовать wget
:
wget --output-document=<version>.tar.gz \
https://api.github.com/repos/<owner>/<repo>/tarball/<version>?access_token=<OAUTH-TOKEN>
или curl
:
curl -L https://api.github.com/repos/<owner>/<repo>/tarball/<version>?access_token=<OAUTH-TOKEN> \
> <version>.tar.gz
Более подробную информацию можно найти в ссылке API GitHub для ссылок на архив.
Ответ 3
Войдите в свой частный Org на Github.com, затем перейдите сюда, чтобы создать свой токен:
https://github.com/settings/applications#personal-access-tokens
При попытке зависания в вашей частной организации используйте следующее:
curl --header 'Authorization: token ADDACCESSTOKENHERE' \
--header 'Accept: application/vnd.github.v3.raw' \
--remote-name \
--location https://api.github.com/repos/ORG/PROJECT/contents/FILE
Замените в CAPS свою информацию...