# Gerenciar versões em repositórios

Você pode criar versões para empacotar e entregar iterações de um projeto para os usuários.

## Sobre o gerenciamento de lançamentos

Você pode criar novas versões com notas de lançamento, @mentions de colaboradores e links para arquivos binários, além de editar ou excluir as versões existentes. Você também pode criar, modificar e excluir versões usando a API de Versões. Para saber mais, confira [Pontos de extremidade da API REST para versões](/pt/rest/releases/releases) na documentação da API REST.

Você também pode publicar uma ação de uma versão específica em GitHub Marketplace. Para saber mais, confira [Publicar ações no GitHub Marketplace](/pt/actions/how-tos/create-and-publish-actions/publish-in-github-marketplace).

Você pode escolher se os objetos Armazenamento de Arquivos Grandes do Git (Git LFS) serão incluídos nos arquivos ZIP e arquivos tar que GitHub cria para cada lançamento. Para saber mais, confira [Gerenciando objetos LFS do Git em arquivos do seu repositório](/pt/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-git-lfs-objects-in-archives-of-your-repository).

## Criando um release

> \[!TIP]
> Se você habilitou releases imutáveis para seu repositório, é recomendável criar releases como rascunhos primeiro, anexar todos os elementos e, em seguida, publicar. Isso garante que todos os ativos estejam no lugar antes que a versão se torne imutável. Para saber mais, confira [Versões imutáveis](/pt/code-security/concepts/supply-chain-security/immutable-releases).

<div class="ghd-tool webui">

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, clique em **Rascunho de uma nova versão**.
4. Para escolher uma tag para a versão, selecione o menu suspenso **Escolher uma marca**.
   * Para usar uma tag existente, clique na tag.
   * Para criar uma nova tag, digite um número de versão para sua versão e clique em **Criar tag**.
5. Se você criou uma nova tag, selecione o menu suspenso **Destino** e clique no branch que contém o projeto que você deseja liberar.
6. Opcionalmente, acima do campo de descrição, selecione o menu suspenso **Tag anterior** e clique na tag que identifica a versão anterior.

   ![Captura de tela do formulário "Nova versão". Um menu suspenso, rotulado com "Tag anterior: automático" é realçado com um contorno laranja.](/assets/images/help/releases/releases-tag-previous-release.png)
7. No campo "Título da versão", digite um título para sua versão.
8. No campo "Descrever esta versão", digite uma descrição para sua versão.
   Se você mencionar alguém com @mention na descrição, a versão publicada incluirá uma seção **Colaboradores** com uma lista dos avatares de todos os usuários mencionados.
   Como alternativa, você pode gerar automaticamente as notas de lançamento clicando em **Gerar notas de lançamento**.
9. Opcionalmente, para incluir arquivos binários, como programas compilados em sua versão, arraste e solte ou selecione arquivos manualmente na caixa de binários.
10. Opcionalmente, para notificar os usuários de que a versão não está pronta para produção e pode ser instável, selecione **Este é um pré-lançamento**.
11. Opcionalmente, selecione **Definir como versão mais recente**. Se você não selecionar essa opção, o rótulo de última versão será atribuído automaticamente com base no controle de versão semântico.
12. Opcionalmente, se GitHub Discussions estiver habilitado para o repositório, crie uma discussão para o lançamento.
    * Selecione **Criar uma discussão para esta versão**.
    * Selecione o menu suspenso **Categoria**, depois clique numa categoria para a discussão de lançamento.
13. Se estiver pronto para tornar sua versão pública, clique em **Publicar versão**. Para trabalhar na versão posteriormente, clique em **Salvar rascunho**.
    Depois, você poderá ver as versões publicadas ou de rascunho no feed de versões do repositório. Para saber mais, confira [Visualizando releases e tags do seu repositório](/pt/repositories/releasing-projects-on-github/viewing-your-repositorys-releases-and-tags).

</div>

<div class="ghd-tool cli">

> \[!NOTE]
> Para saber mais sobre GitHub CLI, confira [Sobre GitHub CLI](/pt/github-cli/github-cli/about-github-cli).

1. Para criar uma versão, use o subcomando `gh release create`. Substitua `tag` pela tag desejada para o release.

   ```shell
   gh release create TAG
   ```

2. Siga as instruções interativas. Como alternativa, você pode especificar argumentos para pular essas instruções. Para obter mais informações sobre possíveis argumentos, consulte [o GitHub CLI manual](https://cli.github.com/manual/gh_release_create). Por exemplo, este comando cria uma pré-versão com o título e observações especificadas.

<!-- markdownlint-disable outdated-release-phase-terminology --> <!-- disable the outdated-release-phase-terminology rule since "beta" is part of the CLI command --> 

```shell
gh release create v1.3.2 --title "v1.3.2 (beta)" --notes "this is a prévia pública release" --prerelease
```

<!-- markdownlint-enable outdated-release-phase-terminology -->

Se você @mention mencionar algum GitHub usuário nas notas, a versão publicada incluirá uma seção **Colaboradores** com uma lista de avatares de todos os usuários mencionados.

</div>

## Editar um lançamento

> \[!NOTE]
> Se você tiver habilitado versões imutáveis para seu repositório, só poderá editar o título e as notas de versão depois que uma versão for publicada. Confira [Versões imutáveis](/pt/code-security/concepts/supply-chain-security/immutable-releases).

<div class="ghd-tool webui">

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. Ao lado da versão que você deseja editar, clique em <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-pencil" aria-label="Edit" role="img"><path d="M11.013 1.427a1.75 1.75 0 0 1 2.474 0l1.086 1.086a1.75 1.75 0 0 1 0 2.474l-8.61 8.61c-.21.21-.47.364-.756.445l-3.251.93a.75.75 0 0 1-.927-.928l.929-3.25c.081-.286.235-.547.445-.758l8.61-8.61Zm.176 4.823L9.75 4.81l-6.286 6.287a.253.253 0 0 0-.064.108l-.558 1.953 1.953-.558a.253.253 0 0 0 .108-.064Zm1.238-3.763a.25.25 0 0 0-.354 0L10.811 3.75l1.439 1.44 1.263-1.263a.25.25 0 0 0 0-.354Z"></path></svg>.

   ![Captura de tela de uma versão na lista de versões. Um ícone de lápis é realçado com um contorno laranja.](/assets/images/help/releases/edit-release-pencil.png)
4. Edite os detalhes da versão no formulário e clique em **Atualizar versão**. Se você adicionar ou remover qualquer @mentions de usuários GitHub na descrição, esses usuários serão adicionados ou removidos da lista de avatares na seção **Contributors** da versão.

</div>

<div class="ghd-tool cli">

1. Para editar uma versão, use o subcomando `gh release edit`. Substitua `TAG` pela tag que representa a versão que você deseja editar. Por exemplo, para editar o título de uma versão, use o seguinte código, substituindo `NEW-TITLE` pelo título atualizado:

   ```shell
   gh release edit TAG -t "NEW-TITLE"
   ```

   Para obter mais informações sobre possíveis argumentos, consulte [o GitHub CLI manual](https://cli.github.com/manual/gh_release_edit).

</div>

## Excluir uma versão

<div class="ghd-tool webui">

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. No lado direito da página, ao lado da versão que você deseja excluir, clique em <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-trash" aria-label="Delete" role="img"><path d="M11 1.75V3h2.25a.75.75 0 0 1 0 1.5H2.75a.75.75 0 0 1 0-1.5H5V1.75C5 .784 5.784 0 6.75 0h2.5C10.216 0 11 .784 11 1.75ZM4.496 6.675l.66 6.6a.25.25 0 0 0 .249.225h5.19a.25.25 0 0 0 .249-.225l.66-6.6a.75.75 0 0 1 1.492.149l-.66 6.6A1.748 1.748 0 0 1 10.595 15h-5.19a1.75 1.75 0 0 1-1.741-1.575l-.66-6.6a.75.75 0 1 1 1.492-.15ZM6.5 1.75V3h3V1.75a.25.25 0 0 0-.25-.25h-2.5a.25.25 0 0 0-.25.25Z"></path></svg>.

   ![Captura de tela de uma versão na lista de versões. Um ícone de lixeira é realçado com um contorno laranja.](/assets/images/help/releases/delete-release-trash.png)
4. Clique em **Excluir esta versão**.

</div>

<div class="ghd-tool cli">

1. Para excluir uma versão, use o subcomando `gh release delete`. Substitua `tag` pela tag da versão a ser excluída. Use o sinalizador `-y` para ignorar a confirmação.

   ```shell
   gh release delete TAG -y
   ```

</div>