# 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 snapshot de qualquer branch, tag ou commit específico de GitHub. Esses instantâneos são gerados pelo comando [`git archive`](https://git-scm.com/docs/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](/pt/repositories/creating-and-managing-repositories/cloning-a-repository).

## 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 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-code" aria-label="code" role="img"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg> 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.](/assets/images/help/repository/code-button.png)
3. Clique em **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-file-zip" aria-label="file-zip" role="img"><path d="M3.5 1.75v11.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.748 1.748 0 0 1 2 13.25V1.75C2 .784 2.784 0 3.75 0h5.586c.464 0 .909.185 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 12.25 15h-.5a.75.75 0 0 1 0-1.5h.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177L9.513 1.573a.25.25 0 0 0-.177-.073H7.25a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5h-3a.25.25 0 0 0-.25.25Zm3.75 8.75h.5c.966 0 1.75.784 1.75 1.75v3a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1-.75-.75v-3c0-.966.784-1.75 1.75-1.75ZM6 5.25a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 6 5.25Zm.75 2.25h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM8 6.75A.75.75 0 0 1 8.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 6.75ZM8.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM8 9.75A.75.75 0 0 1 8.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 9.75Zm-1 2.5v2.25h1v-2.25a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25Z"></path></svg> 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.](/assets/images/help/releases/release-link.png)
3. Desça até a seção "Ativos" do lançamento.
4. Para baixar o código-fonte, clique em **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-file-zip" aria-label="file-zip" role="img"><path d="M3.5 1.75v11.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.748 1.748 0 0 1 2 13.25V1.75C2 .784 2.784 0 3.75 0h5.586c.464 0 .909.185 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 12.25 15h-.5a.75.75 0 0 1 0-1.5h.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177L9.513 1.573a.25.25 0 0 0-.177-.073H7.25a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5h-3a.25.25 0 0 0-.25.25Zm3.75 8.75h.5c.966 0 1.75.784 1.75 1.75v3a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1-.75-.75v-3c0-.966.784-1.75 1.75-1.75ZM6 5.25a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 6 5.25Zm.75 2.25h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM8 6.75A.75.75 0 0 1 8.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 6.75ZM8.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM8 9.75A.75.75 0 0 1 8.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 9.75Zm-1 2.5v2.25h1v-2.25a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25Z"></path></svg> Source code (zip)** ou **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-file-zip" aria-label="file-zip" role="img"><path d="M3.5 1.75v11.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.748 1.748 0 0 1 2 13.25V1.75C2 .784 2.784 0 3.75 0h5.586c.464 0 .909.185 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 12.25 15h-.5a.75.75 0 0 1 0-1.5h.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177L9.513 1.573a.25.25 0 0 0-.177-.073H7.25a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5h-3a.25.25 0 0 0-.25.25Zm3.75 8.75h.5c.966 0 1.75.784 1.75 1.75v3a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1-.75-.75v-3c0-.966.784-1.75 1.75-1.75ZM6 5.25a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 6 5.25Zm.75 2.25h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM8 6.75A.75.75 0 0 1 8.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 6.75ZM8.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM8 9.75A.75.75 0 0 1 8.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 9.75Zm-1 2.5v2.25h1v-2.25a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25Z"></path></svg> 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.](/assets/images/help/releases/release-link.png)
3. Na parte superior da página Lançamentos, clique em **Tags**.
4. Para baixar o código-fonte, clique em **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-file-zip" aria-label="file-zip" role="img"><path d="M3.5 1.75v11.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.748 1.748 0 0 1 2 13.25V1.75C2 .784 2.784 0 3.75 0h5.586c.464 0 .909.185 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 12.25 15h-.5a.75.75 0 0 1 0-1.5h.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177L9.513 1.573a.25.25 0 0 0-.177-.073H7.25a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5h-3a.25.25 0 0 0-.25.25Zm3.75 8.75h.5c.966 0 1.75.784 1.75 1.75v3a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1-.75-.75v-3c0-.966.784-1.75 1.75-1.75ZM6 5.25a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 6 5.25Zm.75 2.25h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM8 6.75A.75.75 0 0 1 8.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 6.75ZM8.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM8 9.75A.75.75 0 0 1 8.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 9.75Zm-1 2.5v2.25h1v-2.25a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25Z"></path></svg> zip** ou **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-file-zip" aria-label="file-zip" role="img"><path d="M3.5 1.75v11.5c0 .09.048.173.126.217a.75.75 0 0 1-.752 1.298A1.748 1.748 0 0 1 2 13.25V1.75C2 .784 2.784 0 3.75 0h5.586c.464 0 .909.185 1.237.513l2.914 2.914c.329.328.513.773.513 1.237v8.586A1.75 1.75 0 0 1 12.25 15h-.5a.75.75 0 0 1 0-1.5h.5a.25.25 0 0 0 .25-.25V4.664a.25.25 0 0 0-.073-.177L9.513 1.573a.25.25 0 0 0-.177-.073H7.25a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5h-3a.25.25 0 0 0-.25.25Zm3.75 8.75h.5c.966 0 1.75.784 1.75 1.75v3a.75.75 0 0 1-.75.75h-2.5a.75.75 0 0 1-.75-.75v-3c0-.966.784-1.75 1.75-1.75ZM6 5.25a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 6 5.25Zm.75 2.25h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM8 6.75A.75.75 0 0 1 8.75 6h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 6.75ZM8.75 3h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1 0-1.5ZM8 9.75A.75.75 0 0 1 8.75 9h.5a.75.75 0 0 1 0 1.5h-.5A.75.75 0 0 1 8 9.75Zm-1 2.5v2.25h1v-2.25a.25.25 0 0 0-.25-.25h-.5a.25.25 0 0 0-.25.25Z"></path></svg> 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.](/assets/images/help/repository/tags-download-zip-targz.png)

## 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 arquivos                                                                                                                           | Exemplo              | URL |
| ------------------------------------------------------------------------------------------------------------------------------------------- | -------------------- | --- |
| ramo                                                                                                                                        | `main`               |     |
| \[                                                                                                                                          |                      |     |
| <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]\(<https://github.com/github/codeql/archive/refs/tags/codeql-cli/v2.12.0.zip>)                              |                      |     |
| Confirmar                                                                                                                                   | `aef66c4`            |     |
| \[                                                                                                                                          |                      |     |
| <https://github.com/github/codeql/archive/>                                                                                                 |                      |     |
| **aef66c462abe817e33aad91d97aa782a1e2ad2c7**.zip]\(<https://github.com/github/codeql/archive/aef66c462abe817e33aad91d97aa782a1e2ad2c7.zip>) |                      |     |

> \[!NOTE]
> Você pode usar `.zip` ou `.tar.gz` nos URLs acima para solicitar um arquivo 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 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](/pt/rest/repos/contents#download-a-repository-archive-tar) 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](/pt/repositories/releasing-projects-on-github/about-releases).

Você pode usar algo como [essa ação de GitHub de terceiros](https://github.com/softprops/action-gh-release) para criar e efetuar push desses arquivos como parte do processo de lançamento. A [API REST de Ativos de Liberação](/pt/rest/releases/assets#get-a-release-asset) pode ser usada posteriormente para recuperá-los.