Chcę pobrać prywatne archiwum repozytorium z GitHub, rozpakować je, usunąć plik archiwum i skopiować niektóre katalogi znajdujące się w pobranym projekcie.
Próbowałem użyć, wget
ale nie mogę się autoryzować:
wget --header='Authorization: token MY_TOKEN_CREATED_ON_GITHUB' https://github.com/MY_USER/MY_REPO/archive/master.tar.gz -O - | tar xz
Próbowałem również z 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
Tutaj autoryzacja mija, ale nie mogę wyodrębnić pliku.
Jak to zrobić?
git clone https://github.com/MY_USER/MY_REPO
?Odpowiedzi:
Rozwiązaniem
wget
byłoby coś takiego:Uwagi:
--strip-components=1
usunie katalog najwyższego poziomu, który znajduje się w utworzonym przez GitHub archiwum,/
na końcu katalogów, które mają być kopiowanecp
(<dir1>
,<dir2>
, ...,<dirn>
), a wzdłużny/
jest obecna na końcu katalogu docelowego (<destination-dir>
).źródło
Jeśli masz własny „osobisty token dostępu”, możesz pobrać archiwum oddziału swojego repozytorium za pomocą polecenia curl:
ProjectID jest wyświetlany na stronie głównej repozytorium.
Możesz uzyskać wartość SHA z webUI po wybraniu gałęzi, którą chcesz z rozwijanego menu i skopiowaniu wartości po prawej stronie dla SHA. Zobacz zrzut ekranu poniżej:
Innym sposobem na to jest użycie wget w następujący sposób:
Mam nadzieję że to pomogło.
źródło