# Присоединение файлов с помощью интерфейса командной строки GitHub

Присоединяйте локальные изображения и видео к проблемам, запросам на вытягивание и комментарии без выхода из командной строки.

Вы можете подключить локальное изображение или видео из командной строки с GitHub CLI помощью флага `--attach` .
GitHub CLI отправляет файл GitHub и записывает полученный URL-адрес в текст проблемы, запрос на вытягивание или комментарий, поэтому он отображает встроенные данные так же, как и если вы подключили его в браузере.

Вам нужен push-доступ к репозиторию для присоединения файлов.

Флаг `--attach` доступен в следующих командах:

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

## Присоединение файла

Передайте `--attach` путь к локальному файлу. В следующем примере замените ISSUE-NUMBER номером проблемы и PATH/TO/IMAGE путем к изображению. Флаг можно повторить для присоединения нескольких файлов, но не удается вложить один и тот же файл дважды.

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

Вы можете объединить `--attach` изображения и видео в `--body``--body-file` Markdown или внедрить их. В следующем примере используются заполнители для заголовка запроса на вытягивание, файла текста Markdown и двух файлов изображений.

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

Чтобы задать замещающий текст для изображения, добавьте его в конец пути после `#`замещающего текста вместо ALT-TEXT.

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

Если замещающий текст не указан, GitHub CLI используется имя файла.

> \[!NOTE]
> Замещающий текст не поддерживается в видеофайлах.

## Внедрение вложения в Markdown

Если текст Markdown уже ссылается на локальный файл, и вы вложите этот же файл`--attach`GitHub CLI, перезаписывает ссылку на место, чтобы указать на отправленный файл, а не добавить вторую копию в конце. Это позволяет записывать Markdown с обычными локальными путями, предварительно просматривать его локально, где изображения отрисовываются, а затем публиковать его без изменений. Ссылка перезаписывается независимо от того, откуда поступает текст текста: `--body`, стандартный `--body-file`вход или текстовый редактор.

### Внедрение изображения

Например, сохраните следующее содержимое в `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)
```

Выполните следующую команду:`--body-file`

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

GitHub CLI заменяет локальный путь отправленным URL-адресом и сохраняет текст Markdown и замещающий текст. При перезаписи ссылки замещающий текст поступает из Markdown, поэтому любой `#` замещающий текст флага применяется только к добавленным файлам.

Любой вложенный файл, на который текст не ссылается, добавляется в конец текста, в том порядке, в каком порядке вы передали флаги.

### Внедрение видео

Чтобы внедрить видео в качестве проигрывателя, сохраните следующую ссылку на изображение Markdown в `PATH/TO/VIDEO-BODY-FILE`. Ссылка должна быть единственным содержимым в его абзаце.

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

Затем вложите то же видео:

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

GitHub CLI заменяет всю ссылку на отправленный URL-адрес, который отображается в качестве проигрывателя. Если ссылка отображается в предложении, она отображается как ссылка.

## Limitations

Поддерживается GitHub CLI только отправка файлов изображений и мультимедиа. Список поддерживаемых типов файлов см. в разделе [Вложение файлов](/ru/get-started/writing-on-github/working-with-advanced-formatting/attaching-files#image-and-media-files).