Skip to main content

Como baixar arquivos de código-fonte

Você pode baixar um instantâneo do código em seu repositório.

Visão geral dos arquivos de código-fonte

Você pode baixar um instantâneo de qualquer ramificação, marca ou commit específico em GitHub. Esses instantâneos são gerados pelo comando git archive em um dos dois formatos: tarball ou zipball. Os instantâneos não contêm todo o histórico do repositório. Para usar todo o histórico, clone-o. Para obter mais informações, confira "Clonar um repositório".

Como baixar arquivos de código-fonte

Você pode baixar os arquivos do código-fonte de três maneiras.

Baixando arquivos de código-fonte da exibição do repositório

  1. Em GitHub, acesse a página principal do repositório.

  2. Acima da lista de arquivos, clique em Código.

    Captura de tela da lista de arquivos na página de aterrissagem de um repositório. O botão "Código" está realçado com um contorno laranja escuro.

  3. Clique em Baixar ZIP.

Baixando arquivos de código-fonte de uma versão

  1. Em GitHub, acesse a página principal do repositório.

  2. À direita da lista de arquivos, clique em Versões.

    Captura de tela da página principal de um repositório. Um link, rotulado como "Versões", é realçado com um contorno laranja.

  3. Role a tela até a seção "Ativos" na página da versão.

  4. Para baixar o código-fonte, clique em Código-fonte (zip) ou Código-fonte (tar.gz) .

Baixando arquivos de código-fonte de uma marca

  1. Em GitHub, acesse a página principal do repositório.

  2. À direita da lista de arquivos, clique em Versões.

    Captura de tela da página principal de um repositório. Um link, rotulado como "Versões", é realçado com um contorno laranja.

  3. Na parte superior da página Versões, clique em Tags.

  4. Para baixar o código-fonte, clique em zip ou tar.gz.

    Captura de tela da página de "Marcação" de um repositório. As opções zip e tar.gz estão descritas em laranja escuro.

URLs de arquivos do código-fonte

Os arquivos de código-fonte estão disponíveis em URLs específicas para cada repositório. Por exemplo, considere o repositório github/codeql. Há URLs diferentes para baixar um branch, uma marca ou uma ID de confirmação específica.

Tipos de arquivosExemploURL
Branchmainhttps://github.com/github/codeql/archive/refs/heads/main.tar.gz
Marcacodeql-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

Observação: você pode usar .zip ou .tar.gz nas URLs acima para solicitar um zipball ou tarball, respectivamente.

Estabilidade dos arquivos de código-fonte

Os arquivos de código-fonte são gerados na solicitação, armazenados em cache por um tempo e, em seguida, excluídos. Se o mesmo arquivo for solicitado novamente no futuro, ele será regenerado. É importante entender o que o GitHub faz para garantir os arquivos de código-fonte.

  • Um arquivo de uma ID de confirmação sempre terá o mesmo conteúdo de arquivo sempre que for solicitado, assumindo que a ID de confirmação ainda está no repositório e que o nome do repositório não foi alterado.
  • Como branches e marcas podem ser movidos para diferentes IDs de confirmação, os downloads futuros de um arquivo podem ter conteúdos diferentes dos arquivos baixados anteriormente do mesmo branch ou marca. Supondo que o branch ou a marca ainda aponte para a mesma ID de confirmação, ele terá o mesmo conteúdo do arquivo.
  • As configurações exatas de compactação usadas para gerar um zipball ou tarball podem ser alteradas ao longo do tempo. O conteúdo extraído não será alterado se o branch ou a marca não for alterado, mas o arquivo compactado externo poderá ter um layout de byte diferente. GitHub fornecerá pelo menos seis meses de aviso prévio antes de alterar as configurações de compactação.
  • O nome do repositório faz parte da estrutura de diretório dentro do arquivo. Portanto, se o nome do repositório for alterado, o nome do diretório raiz também será alterado.

Se você depender da estabilidade dos arquivos de código-fonte para reprodutibilidade (garantindo que você sempre obtenha arquivos idênticos dentro do arquivo), recomendamos usar a API REST de arquivos com uma ID de confirmação do :ref. O uso da ID de confirmação garante que você sempre obtenha o mesmo conteúdo de arquivo dentro do arquivo e esteja imune à reescrita de marcas por repositórios ou à movimentação de cabeçalhos de branch.

Se você depender da estabilidade dos arquivos para segurança (por exemplo: para garantir que não tente descompactar um arquivo mal-intencionado), recomendamos usar versões em vez de usar downloads de origem. Para obter mais informações, confira "Sobre as versões".

Você pode usar algo como essa ação de GitHub de terceiros para criar e efetuar push desses arquivos como parte do processo de lançamento. A API REST de Ativos de Liberação pode ser usada posteriormente para recuperá-los.