将 Snowflake 笔记本与 Git 存储库同步

要将版本控制与 Snowflake Notebooks 搭配使用,您可以将笔记本开发与 Git 存储库中的分支同步。

您必须已经设置了 Snowflake 账户以连接到 Git 存储库,并且已在该存储库中创建了一个要用于笔记本开发的分支。请参阅 设置 Snowflake 以使用 Git

从 Git 存储库中的文件创建笔记本

备注

该文件必须是 .ipynb 格式化文件,并且必须使用笔记本格式 (nbformat) 4.0 或更高版本。

要从 Git 存储库中的文件创建 Snowflake 笔记本,请执行以下操作:

  1. 登录 Snowsight

  2. 选择 Projects » Notebooks

  3. + Notebook 旁边,打开下拉菜单并选择 Create from repository

  4. 对于 File location in repository,选择包含笔记本文件的存储库和存储库中的分支,然后选择特定的 .ipynb 文件。有关将 Snowflake 连接到 Git 存储库的详细信息,请参阅 设置 Snowflake 以使用 Git

  5. 对于 Notebook location,选择一个数据库和架构来包含笔记本。创建笔记本后,这些内容便无法更改。

  6. 对于 Notebook warehouse,选择一个仓库。

  7. 选择 Create 以从 Git 存储库中的 .ipynb 文件创建 Snowflake 笔记本。

将现有笔记本与 Git 存储库连接

要将现有的 Snowflake 笔记本连接到 Git 存储库,请执行以下操作:

备注

您必须至少使用具有以下权限的角色:

  • 对 Git 存储库的 OWNERSHIP 或 READ 权限。

  • 对包含 Git 存储库的架构的 USAGE 权限。

要了解如何连接到 Git 存储库,请参阅 设置 Snowflake 以使用 Git

有关更多详细信息,请参阅 访问控制要求

  1. 登录 Snowsight

  2. 选择 Projects » Notebooks 并打开或创建一个 Snowflake 笔记本。

  3. 在数据库对象资源管理器旁边的 Files 选项卡中,选择 Connect Git Repository

  4. 对于 File location in repository,选择您想要将笔记本与之同步的存储库和存储库中的分支。

  5. 选择 Select Folder

  6. 当系统提示您提交并将笔记本推送到 Git 存储库时,请完成 将更改推送到 Git 存储库中的分支 中概述的“推送到 Git”步骤。

    当笔记本成功推送到 Git 存储库后,系统将在 Git 存储库分支中的选定位置为笔记本创建一个新文件夹,并且该位置的所有文件和文件夹都将同步回笔记本。您可以选择分支名称并在 Snowflake 或 Git 中打开存储库详细信息。

将更改推送到 Git 存储库中的分支

如果 Snowflake 笔记本连接到 Git 存储库中的分支,则在对笔记本进行更改后,您可以将更改推送到该分支。

您必须使用对 Git 存储库具有 OWNERSHIP 或 WRITE 权限的角色推送更改。有关更多详细信息,请参阅 访问控制要求

  1. 登录 Snowsight

  2. 选择 Projects »Notebooks 并打开一个 Snowflake 笔记本。

  3. 对笔记本进行任何相关更改。

  4. 选择 Push to Git

  5. 在随即显示的 Push to Git 对话框中,您可以查看用于将更改提交到指定分支和存储库的用户名和电子邮件地址。如果需要更新用户名和电子邮件地址,请展开 Credentials 部分并更新 Author nameAuthor email

  6. 对于 Commit message,输入要包含在提交中的消息。

  7. 展开 Credentials 部分来配置凭据。在 Personal access token 字段中输入 Git 存储库的个人访问令牌。此访问令牌来自远程 Git 提供商,例如 GitHub。

    • 需要此令牌才能向 Git 存储库进行身份验证。

    • 此令牌必须具有对存储库内容的读写权限,才能使提交生效。

    • 一旦输入,即会保存此令牌供日后提交。您可以在日后的任何提交期间更新它。

  8. 选择 Push

确认消息表明更改已成功推送到分支。

将笔记本与 Git 存储库中的远程分支同步

将笔记本连接到 Git 存储库中的分支后,您可以将远程分支中的所有更改与 Snowflake 笔记本同步。

  1. 登录 Snowsight

  2. 选择 Projects » Notebooks 并打开或创建一个 Snowflake 笔记本。

  3. 在数据库对象资源管理器的 Files 选项卡中,选择 Pull

Snowflake 会提取远程存储库分支上存在的所有更改,并将笔记本内容与这些更改合并。

合并冲突

Snowflake 会尝试解决同步期间发生的合并冲突。如果存在 Snowflake 无法解决的合并冲突,您将收到一条消息,要求您放弃更改或将其提交到新分支。当它们提交到新分支时,使用 Git 提供商将更改从新分支手动合并到原始分支。然后,您应该将最新的更新拉入 Snowflake 笔记本中。

语言: 中文