Подтвердить что ты не робот

Проблемы с загрузкой 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
4b9b3361

Ответ 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 свою информацию...