Snippets

原文:https://docs.gitlab.com/ee/user/snippets.html

Snippets

借助 GitLab 代码片段,您可以存储和与其他用户共享代码和文本.

GitLab Snippet

可以使用摘要 API来维护摘要 .

片段类型有两种:

  • 个人摘要.
  • 项目摘要.

Personal snippets

个人代码段与任何项目均无关,可以完全独立地创建. 可以设置 3 种可见性级别,公共,内部和私有. 有关更多信息,请参见公共访问 .

Project snippets

项目摘要始终与特定项目相关. 有关更多信息,请参见项目功能 .

Create a snippet

要创建个人代码段,请点击加号图标( ),然后从下拉菜单中选择” 新建代码段 “:

New personal snippet from non-project pages

如果您在项目页面上,但要创建一个新的个人代码段,请点击加号图标( ),然后从下拉菜单的下部选择新代码段 (在 GitLab.com 上为GitLab ;在自托管实例上为您的实例):

New personal snippet from project pages

要创建项目摘要,请导航到您的项目页面,然后点击加号图标( ),然后从下拉菜单的上方选择新建代码段此项目 ).

New personal snippet from project pages

从那里添加TitleDescription和带有适当扩展名的文件名(例如example.rbindex.html ).

警告:确保添加文件名以突出显示代码并避免此粘贴错误 .

Versioned Snippets

在 GitLab 13.0 中引入 .

从 13.0 开始,片段(个人片段和项目片段)默认都启用了版本控制.

这意味着在创建代码段时,所有代码段都将获得自己的基础存储库,并使用master分支进行初始化. 每当保存对代码段的更改时,都会记录对 master 分支的新提交. 提交消息是自动生成的. 该代码段的存储库默认情况下只有一个分支(母版),不支持将其删除或创建其他分支.

现有代码段将在 13.0 中自动迁移. 它们的当前内容将被保存为对代码段存储库的初始提交.

File names

代码段支持基于为其提供的文件名和扩展名突出显示语法. 尽管可以在不指定文件名和扩展名的情况下提交代码段,但它需要一个有效的名称,以便可以将内容作为文件创建在代码段的存储库中.

如果用户未将文件名和扩展名归于代码段,则 GitLab 会自动以snippetfile<x>.txt格式添加文件名,其中<x>代表添加到文件的数字,从 1 开始.添加了更多没有属性文件名的代码段.

从早期版本的 GitLab 升级到 13.0 时,不支持文件名的现有代码片段将重命名为兼容格式. 例如,如果代码段的文件名是http://a-weird-filename.me ,它将被更改为http-a-weird-filename-me ,以包含在代码段的存储库中. 由于代码段是通过 ID 存储的,因此更改其文件名不会破坏该代码段的直接链接或嵌入式链接.

Cloning snippets

可以使用 SSH 或 HTTPS 将片段克隆为常规的 Git 存储库. 单击摘要内容上方的” 复制”按钮以复制您选择的 URL.

Clone Snippet

这使您可以获取代码段存储库的本地副本,并根据需要进行更改. 您可以提交这些更改并将其推送到远程 master 分支.

Limitations

  • 不支持二进制文件.
  • 不支持创建或删除分支. 只有默认的主人 . 使用分支.
  • 代码段存储库中不支持 Git 标签.
  • 片段的存储库仅限于一个文件. 尝试推送多个文件将导致错误.
  • 修订在 GitLab UI 上对用户尚不可见,但计划在以后的迭代中添加. 有关更新,请参见修订标签问题 .
  • 默认情况下, 摘要最大大小为 50 MB.

Discover snippets

在 GitLab 中发现片段的主要方法有两种.

要浏览对您可见的所有代码片段,您可以通过顶部导航转到 GitLab 实例的代码片段仪表板. 对于 GitLab.com,您可以在这里找到它. 这会将您导航到一个概述,该概述显示您创建的摘要,并允许您浏览所有摘要.

如果要发现属于特定项目的摘录,则可以通过项目页面上的左侧导航导航到摘录页面. 项目片段被启用,默认情况下可用,但他们可以通过导航到项目的设置 ,扩大知名度,项目功能,权限和向下滚动到片段被禁用. 从那里,您可以切换以禁用它们,或从下拉菜单中选择其他可见性级别.

Snippet comments

在 GitLab 9.2 中引入 .

使用 GitLab 代码片段,您可以参与有关该代码段的对话,从而促进用户之间的协作.

Downloading snippets

您可以下载代码段的原始内容.

默认情况下,将下载带有 Linux 样式的行尾( LF )的代码段. 如果要保留原始的行尾,则需要添加参数line_ending=raw (例如, https://gitlab.com/snippets/SNIPPET_ID/raw?line_ending=raw : line_ending=raw ). 如果使用 GitLab Web 界面创建了代码段,则原始行结尾类似于 Windows( CRLF ).

Embedded snippets

在 GitLab 10.8 中引入.

公开片段不仅可以共享,还可以嵌入任何网站中. 这样,您可以在多个地方重用 GitLab 代码段,并且对源代码的任何更改都会自动反映在嵌入式代码段中.

To embed a snippet, first make sure that:

  • 该项目是公开的(如果是项目摘要)
  • 摘要是公开的
  • 在” 项目”>”设置”>”权限”中 ,将片段权限设置为” 具有访问权限的所有人”

满足以上条件后,”嵌入”部分将出现在您的代码片段中,您只需单击”复制”按钮即可. 这将复制一个单行脚本,您可以将其添加到任何网站或博客文章中.

示例代码如下所示:

  1. <script src="https://gitlab.com/namespace/project/snippets/SNIPPET_ID.js"></script>

嵌入式代码段的外观如下:

嵌入的代码片段带有一个标题,该标题显示文件名(如果已定义),代码片段大小,到 GitLab 的链接以及实际的代码片段内容. 标头中的操作使用户可以查看原始格式的代码段并下载.