Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.
В настоящее время GitHub AE находится в ограниченном выпуске.

Скачивание архивов исходного кода

Вы можете скачать snapshot кода в репозитории.

Обзор архивов исходного кода

Вы можете скачать snapshot любой ветви, тега или конкретной фиксации из ваше предприятие. Эти моментальные снимки создаются командойgit archive в одном из двух форматов: tarball или zipball. Моментальные снимки не содержат весь журнал репозитория. Если требуется весь журнал, можно клонировать репозиторий. Дополнительные сведения см. в разделе Клонирование репозитория.

Скачивание архивов исходного кода

Архивы исходного кода можно скачать тремя способами.

Скачивание архивов исходного кода из представления репозитория

  1. На ваше предприятие перейдите на главную страницу репозитория.

  2. Над списком файлов щелкните Код.

    Снимок экрана: список файлов на целевой странице репозитория. Кнопка "Код" выделена темно-оранжевым контуром.

  3. Щелкните Скачать ZIP-файл.

Скачивание архивов исходного кода из выпуска

  1. На ваше предприятие перейдите на главную страницу репозитория. 1. Справа от списка файлов щелкните Выпуски.

    Снимок экрана: главная страница репозитория. Ссылка с меткой "Выпуски" выделена оранжевым контуром.

  2. Прокрутите вниз до раздела "Активы" выпуска.

  3. Чтобы скачать исходный код, щелкните Исходный код (zip) или Исходный код (tar.gz).

Скачивание архивов исходного кода из тега

  1. На ваше предприятие перейдите на главную страницу репозитория. 1. Справа от списка файлов щелкните Выпуски.

    Снимок экрана: главная страница репозитория. Ссылка с меткой "Выпуски" выделена оранжевым контуром.

  2. В верхней части страницы "Выпуски" щелкните Теги.

  3. Чтобы скачать исходный код, щелкните ZIP-файл или tar.gz.

    Снимок экрана: страница "Теги" репозитория. Параметры zip и tar.gz выделены темно-оранжевым цветом.

URL-адреса архива исходного кода

Архивы исходного кода доступны по определенным URL-адресам для каждого репозитория. Например, рассмотрим репозиторий github/codeql. Существуют разные URL-адреса для скачивания ветви, тега или определенного ИД фиксации.

Тип архиваПримерURL-адрес
Ветвьmainhttps://github.com/github/codeql/archive/refs/heads/ main.tar.gz
Тегcodeql-cli/v2.12.0https://github.com/github/codeql/archive/refs/tags/codeql-cli/v2.12.0.zip
Commitaef66c4https://github.com/github/codeql/archive/aef66c462abe817e33aad91d97aa782a1e2ad2c7.zip

Примечание. Вы можете использовать или .zip .tar.gz в приведенных выше URL-адресах для запроса zipball или tarball соответственно.

Стабильность архивов исходного кода

Архивы исходного кода создаются по запросу, кэшируются на некоторое время, а затем удаляются. Если тот же архив будет запрошен снова в будущем, он будет повторно создан. Важно понимать, какие гарантии GitHub обеспечивает архивы исходного кода.

  • Архив ИД фиксации всегда будет содержать одно и то же содержимое файла при каждом запросе, при условии, что ИД фиксации по-прежнему находится в репозитории и имя репозитория не изменилось.
  • Так как ветви и теги могут перемещаться по разным идентификаторам фиксаций, будущие загрузки архива могут иметь содержимое, отличное от содержимого ранее скачанных архивов той же ветви или тега. Предполагая, что ветвь или тег по-прежнему указывают на один и тот же ИД фиксации, они будут иметь то же содержимое файла.
  • Точные параметры сжатия, используемые для создания zipball или tarball, могут со временем меняться. Извлеченное содержимое не изменится, если не изменяется ветвь или тег, но внешний сжатый архив может иметь другой макет байтов. GitHub уведомит по крайней мере за шесть месяцев до изменения параметров сжатия.
  • Имя репозитория является частью структуры каталогов в архиве. Поэтому при изменении имени репозитория изменится и имя корневого каталога.

Если вы полагаетесь на стабильность архивов исходного кода для воспроизводимости (гарантируя, что вы всегда получаете идентичные файлы в архиве), рекомендуется использовать REST API архивов с ИД фиксации для :ref. Использование ИД фиксации гарантирует, что вы всегда будете получать одно и то же содержимое файла в архиве, и вы будете невосприимчивы к репозиториям, перезаписывая теги или перемещая головки ветвей.

Если вы полагаетесь на стабильность архивов для обеспечения безопасности (например, чтобы предотвратить попытку распакуть вредоносный файл), рекомендуется использовать выпуски вместо исходных загрузок. Дополнительные сведения см. в разделе Сведения о выпусках.

Вы можете использовать что-то вроде этого стороннего действия GitHub для создания и отправки этих файлов в процессе выпуска. Позже для их извлечения можно использовать REST API ресурсов выпуска .