Как скачать исходники в формате ZIP с GitHub?


257

Я вижу что-то странное, вроде:

http://github.com/zoul/Finch.git

Теперь я не тот CVS, SVN и т. Д. Чувак. Когда я открываю это в браузере, это говорит мне, что я сделал что-то не так. Спорим, мне нужен какой-нибудь инструмент в стиле хакера? Какой-то клиент?

(Я имею в виду ... почему бы просто не предоставить ZIP-файл? Разве мир не достаточно сложен?)

Ответы:


193

Чтобы клонировать этот репозиторий по URL-адресу : да, вам нужен клиент, а этот клиент - Git . Это позволит вам вносить изменения, свои собственные ветки, синхронизировать их с другими разработчиками, поддерживать свой собственный источник, который вы можете легко обновлять, не загружая каждый раз все и не записывая свои собственные изменения и т. Д. Выиграл ZIP-файл не позволю тебе сделать это.

Он в основном предназначен для людей, которые хотят развить источник, а не для тех, кто просто хочет получить исходный код и не вносить изменения.

Но так получилось, что вы также можете получить ZIP-файл:

Нажмите на http://github.com/zoul/Finch/, а затем нажмите на зеленую Clone or Downloadкнопку. Посмотреть здесь:

введите описание изображения здесь


2
Есть ли способ не загружать весь репозиторий? Скажем, если репозиторий является репозиторием "плагинов" и вам нужен только один плагин?
— Мала

2
не без использования Github API, насколько я знаю.
— Кристоф

197

Что происходит, когда владелец хранилища не подготовил zip-файл, и вы просто хотите, чтобы загрузка использовалась самостоятельно? Есть ответ, и вам не нужно идти через этот ужасный процесс, чтобы загрузить программное обеспечение, установить и зарегистрировать ключи и еще много чего на GitHub и т. Д.!

Чтобы просто загрузить репозиторий в виде zip-файла: добавьте дополнительный путь '/ zipball / master /' в конец URL-адреса репозитория и вуаля, он даст вам zip-файл всей партии.

Например,

http://github.com/zoul/Finch/

будет выглядеть так:

http://github.com/zoul/Finch/zipball/master/

Затем он дает вам ZIP-файл для загрузки.


1
СПАСИБО! Мне нужно было загрузить код из репозитория, у которого не было zip-файла, и это работало отлично. Я бы никогда не понял, что я делаю с помощью GitHub.
— Вероника

3
Потрясающая информация, мой друг. Было много раз, когда я хотел скачать разные ветки без установки git. Честно говоря, я не понимаю, почему просто нет ссылки на это ...
— Zaptree

4
Хотелось бы, чтобы это сработало, но не повезло здесь: github.com/facebook/php-webdriver - когда я добавляю zipball / master / в конец этого URL, я просто получаю сообщение об ошибке. Я повторяю оригинальный комментатор ... Я просто не понимаю, почему так сложно загрузить исходный код, который я вижу на github. Я не хочу git-клиента, я не хочу изучать git, я просто хочу вытащить файлы, которые находятся прямо перед моим лицом :-)
— Eric

2
@Eric - у меня это сработало: github.com/facebook/php-webdriver/zipball/master
— scubasteve

2
Отличный совет! Просто убедитесь, что вы находитесь в верхней папке хранилища при добавлении / zipball / master /.
— Питер Х

170

Обновлено июль 2016

По состоянию на июль 2016 года Download ZIPкнопка переместилась Clone or download в крайнее правое положение заголовка под Codeвкладкой:

Скачать ZIP (2013)


Если вы не видите кнопку:

  • Убедитесь, что вы выбрали <> Codeвкладку в меню навигации справа, или
  • Репо, возможно, не подготовил почтовый индекс. Добавьте /archive/master.zipв конец URL хранилища и сгенерируйте zip-файл главной ветви:

http://github.com/user/repository/ -До-> http://github.com/user/repository/archive/master.zip

получить исходный код главной ветки в zip-файле. Вы можете сделать то же самое с тегами и именами ветвей, заменив masterв приведенном выше URL-адресе название ветви или тега.


4
Кроме того, если вам нужен тарбол вместо почтового индекса, вы можете изменить этот URL-адрес на «.tar.gz» в конце.
— Эрик

3
Похоже, <> код выбран по умолчанию, но это не так. Нажмите здесь!
— Стив Уош

Спасибо @SteveWash. Это просто безумие. Я также думал, что вкладка «Код» уже выбрана. Это действительно плохой пользовательский интерфейс (но, хорошо, как только вы научитесь этому трюку, вы узнаете его навсегда ..)
— Майк Гледхилл,

Если вы называете теги как v1.0, zip-файл игнорирует vзагрузки & repo-1.0. Это ошибка с github?
— Debaprio B

40

Чтобы загрузить свой репозиторий в виде zip-файла через curl:

curl -L -o master.zip http://github.com/zoul/Finch/zipball/master/

Если ваш репозиторий является приватным:

curl -u 'username' -L -o master.zip http://github.com/zoul/Finch/zipball/master/

Источник: Github Help


сладкий! работал как шарм, у меня были ограничения разрешений в пакетной системе без браузера, и это было то, что мне было нужно!
— HoofarLotusX

С wget это еще короче:wget https://github.com/zoul/Finch/archive/master.zip
— Ноам Манос

25

По состоянию на декабрь 2016 года Clone or downloadкнопка все еще находится под <> Codeвкладкой, однако теперь она находится в крайнем правом углу заголовка:

Github Clone или скачать скриншот


Это касается и старого макета?
— Макото


Возможно, потому что вы не вошли в систему. Я только что проверил, и Github немного изменил расположение. Однако кнопка теперь зеленая и помечена как «Клонировать или загрузить» (для вашего репозитория кнопка загрузки ссылается на: github.com/Antonioya/blender/archive/master.zip )
— Бенди

1
Я вошел в систему и до сих пор не вижу зеленой кнопки - вместо «Клонировать или скачать» написано «История»
— Мирьяфа,

1
@Miryafa Поскольку загрузка для этого хранилища отключена. Проверьте примечание на Readme. В нем говорится: «*** УВЕДОМЛЕНИЕ *** MeasureIt теперь является частью официальных выпусков Blender, поэтому этот репозиторий Git предназначен только для справки. Если вы хотите скачать последние версии или сообщить об ошибке, пожалуйста, используйте веб-сайт Blender».
— Анвар


8

Хотя это довольно старый вопрос, я хочу поделиться своими 2 центами.

Вы также можете скачать репо как tar.gz

Как и zipballссылка, указанная в различных ответах, здесь также есть tarballссылка, которая загружает содержимое репозитория git в tar.gzформате.

curl -L http://github.com/zoul/Finch/tarball/master/

Лучший способ

Git также предоставляет другой шаблон URL, в котором вы можете просто добавить тип файла, который вы хотите загрузить, в конце URL. Этот способ лучше, если вы хотите обрабатывать эти URL-адреса в пакетном или bash-скрипте.

curl -L http://github.com/zoul/Finch/archive/master.zip

curl -L http://github.com/zoul/Finch/archive/master.tar.gz

Чтобы загрузить определенный коммит или ветку

Замените masterна commit-hashили branch-nameв приведенных выше URL, как показано ниже.

curl -L http://github.com/zoul/Finch/archive/cfeb671ac55f6b1aba6ed28b9bc9b246e0e.zip    
curl -L http://github.com/zoul/Finch/archive/cfeb671ac55f6b1aba6ed28b9bc9b246e0e.tar.gz

curl -L http://github.com/zoul/Finch/archive/your-branch-name.zip
curl -L http://github.com/zoul/Finch/archive/your-branch-name.tar.gz

6

Я тоже был озадачен этим. Кнопка «Загрузить» находится в крайнем правом углу, но вы также должны быть в верхней папке, чтобы загрузить то, что вы видите. Поднимитесь как можно выше в родительскую / корневую папку и найдите кнопку загрузки.


1

Иногда, если кнопка «Загрузить ZIP» недоступна, вы можете нажать «Raw», и файл должен загрузиться в вашу систему.


Или, как упоминалось в другом месте на этой странице, даже если вкладка «Код» выглядит выбранной ... это может быть не так. Снова нажмите «Код» и посмотрите, появляется ли кнопка «Клонировать или загрузить».
— Майк Гледхилл


0

Я столкнулся с той же проблемой, но случайно решил эту проблему. 1) Войдите в GitHub 2) Нажмите на кнопку Fork вверху справа. 3) После вышеуказанного шага вы можете увидеть клон или загрузить зеленым цветом в <> Code Tab.


0

Вы также можете опубликовать выпуск версии на Github, и есть возможность загрузить исходный код этого выпуска в виде zip-файла.

Затем вы можете поделиться ссылкой на zip-файл с кем угодно, чтобы загрузить исходный код проекта.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.