Skip to main content

使用 GitHub CLI 附加文件

将本地图像和视频附加到问题、拉取请求和注释,而无需离开命令行。

在本文中

您可以使用 --attach 标志,通过命令行中的 GitHub CLI 附加本地图片或视频。 GitHub CLI 会将文件上传到 GitHub,并将生成的 URL 写入你的议题、拉取请求或评论正文中,以便像在浏览器中附加该文件时一样内联显示。

您需要具有该仓库的推送权限才能附加文件。

--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 替换为映像的路径。 可以重复该标志来附加多个文件,但不能附加同一个文件两次。

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

可以结合--attach``--body--body-file嵌入 Markdown 中的图像和视频。 以下示例使用拉取请求标题、Markdown 正文文件和两个图像文件的占位符。

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。

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

如果未提供替代文本,GitHub CLI 将使用文件名。

注意

视频文件不支持替换文字。

在 Markdown 中嵌入附件

如果您的 Markdown 文本中已经引用了某个本地文件,并且使用 --attach 附加了同一个文件,GitHub CLI 会就地改写该引用,使其指向已上传的文件,而不是在末尾再追加一份副本。 这样,便可以使用普通的本地路径编写 Markdown,在本地预览图像呈现的位置,然后将其发布不变。 无论正文文本来自何处:--body--body-file、标准输入还是文本编辑器,引用都会被重写。

嵌入图像

例如,将以下内容保存到:PATH/TO/BODY-FILE

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 运行以下命令:

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。 引用必须是其段落中唯一的内容。

![](PATH/TO/VIDEO)

然后附加相同的视频:

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

GitHub CLI 将整个引用替换为上传的 URL,该 URL 以播放器的形式呈现。 如果引用出现在句子中,它将改为呈现为链接。

局限性

GitHub CLI 仅支持上传图像和媒体文件。 有关支持的文件类型的列表,请参阅 附加文件