# Anexando arquivos com GitHub CLI

Anexe imagens e vídeos locais a problemas, solicitações de pull e comentários sem sair da linha de comando.

Você pode anexar uma imagem ou vídeo local pela linha de comando com GitHub CLI usando o sinalizador `--attach`.
GitHub CLI faz upload do arquivo para GitHub e insere a URL resultante no corpo da sua issue, pull request ou comentário, para que ele seja exibido inline, da mesma forma que seria se você o anexasse no seu navegador.

Você precisa de acesso por push ao repositório para anexar arquivos.

O `--attach` sinalizador está disponível nos seguintes comandos:

* `gh issue create`
* `gh issue edit`
* `gh issue comment`
* `gh pr create`
* `gh pr edit`
* `gh pr comment`

## Anexando um arquivo

Passe `--attach` com o caminho para um arquivo local. No exemplo a seguir, substitua ISSUE-NUMBER pelo número de seu problema e PATH/TO/IMAGE pelo caminho para sua imagem. Você pode repetir o sinalizador para anexar mais de um arquivo, mas não é possível anexar o mesmo arquivo duas vezes.

```shell
gh issue comment ISSUE-NUMBER --attach PATH/TO/IMAGE
```

Você pode combinar `--attach` com `--body` ou `--body-file` inserir imagens e vídeos em seu Markdown. O exemplo a seguir usa espaços reservados para o título do pull request, o arquivo Markdown do corpo e dois arquivos de imagem.

```shell
gh pr create \
  --title "PULL-REQUEST-TITLE" \
  --body-file PATH/TO/BODY-FILE \
  --attach PATH/TO/FIRST-IMAGE \
  --attach PATH/TO/SECOND-IMAGE
```

Para definir o texto alt para uma imagem, adicione-o ao final do caminho após um `#`, no lugar de ALT-TEXT.

```shell
gh issue comment ISSUE-NUMBER --attach 'PATH/TO/IMAGE#ALT-TEXT'
```

Se você não fornecer texto alt, GitHub CLI usará o nome do arquivo.

> \[!NOTE]
> Não há suporte para texto alt em arquivos de vídeo.

## Inserindo um anexo no Markdown

Se o texto em Markdown já fizer referência a um arquivo local e você anexar esse mesmo arquivo com `--attach`, GitHub CLI reescreverá a referência no próprio texto para apontar para o arquivo enviado, em vez de acrescentar uma segunda cópia ao final. Isso permite que você escreva Markdown com caminhos locais comuns, visualize-o localmente onde as imagens são renderizadas e, em seguida, poste-o inalterado. A referência é reescrita independentemente da origem do texto do corpo: `--body`, , `--body-file`entrada padrão ou editor de texto.

### Inserindo uma imagem

Por exemplo, salve o seguinte conteúdo em `PATH/TO/BODY-FILE`:

```markdown
The sign-in screen shows an error where the form should be:

![the sign-in screen showing an authentication error](PATH/TO/IMAGE)
```

Execute o seguinte comando com `--body-file`:

```shell
gh issue comment \
  ISSUE-NUMBER \
  --body-file PATH/TO/BODY-FILE \
  --attach PATH/TO/IMAGE
```

GitHub CLI substitui o caminho local pela URL carregada e mantém o texto markdown e alt. Quando uma referência é reescrita, o texto alt vem do Markdown, portanto, qualquer `#` texto alt no sinalizador se aplica somente aos arquivos que são acrescentados.

Qualquer arquivo anexado ao qual o corpo da mensagem não faz referência é adicionado ao final do corpo da mensagem, na ordem em que você passou as flags.

### Inserindo um vídeo

Para incorporar um vídeo como player, salve a seguinte referência de imagem em Markdown em `PATH/TO/VIDEO-BODY-FILE`. A referência deve ser o único conteúdo em seu parágrafo.

```markdown
![](PATH/TO/VIDEO)
```

Em seguida, anexe o mesmo vídeo:

```shell
gh issue comment \
  ISSUE-NUMBER \
  --body-file PATH/TO/VIDEO-BODY-FILE \
  --attach PATH/TO/VIDEO
```

GitHub CLI substitui toda a referência pela URL carregada, que é renderizada como um player. Se a referência aparecer dentro de uma frase, ela será renderizada como um link.

## Limitações

O GitHub CLI só suporta o upload de arquivos de imagem e de mídia. Para obter uma lista de tipos de arquivo com suporte, consulte [Anexando arquivos](/pt/get-started/writing-on-github/working-with-advanced-formatting/attaching-files#image-and-media-files).