Як завантажити .zip з GitHub для певної фіксації ша?


106

Я хочу завантажити .zip з джерелом бібліотеки, розміщеної на github, але я не хочу майстра, тому що кожного разу я можу завантажувати іншу версію.

У цій бібліотеці немає тегів, тому я не можу цим користуватися.

Тож як я можу завантажити source.zip для певної фіксації ша?


3
Це не потрібно позначати тегами php або composer-php, чи не так?
Cacovsky

Відповіді:


218

Ви можете помістити ша, який ви хочете, в URL-адресу завантаження:

https://github.com/{username}/{projectname}/archive/{sha}.zip

Як правило, якщо у вас є URL-адреса, яка працює, ви можете замінити "master" конкретним ша, який ви хочете.

На unix:

wget https://github.com/{username}/{projectname}/archive/{sha}.zip

Майте на увазі, що якщо це приватне репо, то wget не працюватиме, якщо ви також не передасте маркер OAuth.

Ось додаткові відомості про це:

Виникла проблема з завантаженням архівів Git з Private Repo


7
Не очікував, що (класний) спосіб це зробити. Очікував команд git;)
HenchHacker

Перевірити це посилання , а також - Може шукати це замість stackoverflow.com/a/48503019/341117
Равіндра Gullapalli

Ви можете використовувати і короткий ша!
wjandrea

Навіть якщо я використовую wget -Oдля перейменування архіву ZIP-файл, після розпакування я отримаю велике потворне ім'я каталогу SHA1. Будь-який спосіб уникнути цього?
QED

40

Переглядаючи код комісії, натисніть кнопку "Оглянути код" у верхньому правому куті, після чого натисніть "Завантажити ZIP".


1
Зараз у них є кнопка "Клонувати або завантажити", де ви можете "завантажити ZIP".
СурешС

"Клонувати або завантажити" - це нова кнопка, яка замінює старі кнопки "Клон" та "Завантажити". Нова кнопка робить конкретних версій - використовувати спосіб Зеки описаний
приятелю

3
Це працювало для мене у лютому 2017 року. Він завантажив репо-реп із змінами в часовій позначці вибраного комітету.
ocean4dream

7

Це давнє запитання, але хотілося б зазначити, що якщо ви хочете лише виконати команду як патч, а не всю репо на момент виконання комісії, ви можете використовувати:

$ wget http://github.com/username/repo/commit/sha1.patch
#                        ^^^^^^^^ ^^^^        ^^^^
#                        change   change      change

/commitІ .patchчастини є важливою частиною.

Це особливо корисно, якщо ви хочете об'єднатись у зміні, яка була повернена назад і тому не існує у роздвоєному репо.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.