Я хочу скачать приватный архив репозитория с GitHub, распаковать его, удалить архивный файл и скопировать некоторые каталоги, которые находятся внутри загруженного проекта.
Я пытался использовать, wget
но я не могу авторизоваться:
wget --header='Authorization: token MY_TOKEN_CREATED_ON_GITHUB' https://github.com/MY_USER/MY_REPO/archive/master.tar.gz -O - | tar xz
Я также попробовал с cURL
:
curl -i -H 'Authorization: token MY_TOKEN_CREATED_ON_GITHUB' https://github.com/MY_USER/MY_REPO/archive/master.tar.gz > file.tar.gz | tar xz
Здесь авторизация проходит, но я не могу извлечь файл.
Как это сделать?
git clone https://github.com/MY_USER/MY_REPO
?Ответы:
Решение
wget
было бы что-то вроде:Ноты:
--strip-components=1
удалит каталог верхнего уровня, который содержится в созданном GitHub архиве,/
в конце каталогов, которые должны быть скопировано сcp
(<dir1>
,<dir2>
...,<dirn>
) и тянущимся/
присутствуют в конце каталога назначения (<destination-dir>
).источник
Если у вас есть свой «Личный токен доступа», вы можете загрузить архив ветки вашего репозитория с помощью команды curl:
ProjectID отображается на главной странице репо.
Вы можете получить значение SHA в веб-интерфейсе, выбрав нужную ветку из раскрывающегося списка и скопировав значение справа для SHA. Смотрите скриншот ниже:
Другой способ сделать это через wget:
Надеюсь, это поможет.
источник