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, tag ou commit específico do 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 obter todo o histórico, você pode clonar o repositório. Para saber mais, 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 visão do repositório

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

  2. Acima da lista de arquivos, clique em Code.

    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 Download 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. Desça até a seção "Ativos" do lançamento.

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

Baixando arquivos de código-fonte de um tag

  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 Lançamentos, clique em Tags.

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

    Captura de tela da página de "Tags" 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. Existem URLs diferentes para baixar um branch, um tag ou um ID de commit específico.

Tipos de arquivosExemploURL
ramomain
          [
          https://github.com/github/codeql/archive/refs/
          **heads/main**.tar.gz](https://github.com/github/codeql/archive/refs/heads/main.tar.gz) |

| Tag | codeql-cli/v2.12.0 | https://github.com/github/codeql/archive/refs/ tags/codeql-cli/v2.12.0.zip | | Commit | aef66c4 | https://github.com/github/codeql/archive/ aef66c462abe817e33aad91d97aa782a1e2ad2c7.zip |

Observação

Você pode usar .zip ou .tar.gz nas URLs acima para obter um zipball ou um 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 tags podem ser movidas para diferentes IDs de confirmação, os futuros downloads de arquivos de pacotes podem ter conteúdos diferentes dos arquivos de pacotes baixados anteriormente do mesmo branch ou tag. Supondo que o branch ou a tag ainda aponte para a mesma ID do commit, ela terá o mesmo conteúdo de 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 tag não forem alterados, mas o arquivo compactado externo poderá ter um layout de bytes 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 saber mais, confira Sobre os lançamentos.

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.