Snowflake 中的 Git 操作¶
本主题介绍如何使用 SQL 命令和 Snowsight 执行常见的存储库操作。
您还可以将以下功能与 Git 一起使用,每种功能都有自己执行 Git 操作的方式:
将 Git 存储库与您的 Snowflake 账户集成¶
您可以通过 SQL 或 Snowsight 让 Snowflake 连接到您的 Git 存储库。
有关使用 SQL 设置与 Git 存储库的集成的信息,请参阅 设置 Snowflake 以使用 Git。
在 Snowsight 中,您可以使用工作区 与 Git 存储库集成。
从远程 Git 存储库中提取¶
您可以在 Snowflake 中将远程存储库的所有分支、标签和提交提取到 Git 存储库克隆中。执行此操作时,您还会削减那些较早提取但远程存储库中已不再存在的分支和提交。
要执行本部分所述的操作,您需要 ALTER GIT REPOSITORY 访问控制 内介绍的 Snowflake 访问权限。
您可以使用 Snowsight 或 SQL 从远程 Git 存储库提取。
您可以使用 ALTER GIT REPOSITORY 命令,将远程 Git 存储库的内容提取到 Snowflake 中的 Git 存储库克隆。
以下示例中的代码将使用存储库的内容更新 Git 存储库克隆:
您可以使用 Snowsight 从远程存储库获取内容。
Sign in to Snowsight.
In the navigation menu, select Catalog » Database Explorer.
在对象资源管理器中,选择包含您要提取的 Git 存储库克隆的数据库和架构。
在架构内部,打开 Git Repositories。
在 Git Repositories 中,选择存储库以查看详细信息页面。
在存储库详细信息中的 Files Explorer 选项卡上,选择 Fetch 按钮以从远程存储库提取。
查看存储库文件列表¶
您可以使用 Snowsight 或 SQL 查看分支、标签或提交中的文件的列表。
您可以使用以下形式的 LIST 命令来查看存储库中的文件列表,将 Git 存储库克隆指定为一个暂存区(可将 LIST 缩写为 LS):
按分支名称列出:
按标签名称列出:
按提交哈希列出:
以下示例生成的输出列出了位于 Git 存储库 snowflake_extensions 主要分支中的文件:
The preceding command generates output similar to the following. For descriptions of the output columns, see the LIST command reference.
您可以使用 Snowsight 查看 Git 存储库中的分支和标签的列表。
Sign in to Snowsight.
In the navigation menu, select Catalog » Database Explorer.
在对象资源管理器中,选择包含要查看的 Git 存储库克隆的数据库和架构。
在架构内部,打开 Git Repositories。
在 Git Repositories 内部,选择一个存储库以查看其详细信息页面。
在存储库的详细信息页面的 Files Explorer 选项卡上,选择 Branch 按钮。
从 Branch 下拉菜单中,选择以下任一选项:
要查看从存储库克隆的分支的列表,请选择 Branches。
要查看从存储库克隆的标签的列表,请选择 Tags。
选择要列出的文件所属的分支或标签。
在存储库名称下方,查看与您选择的内容对应的文件夹和文件的列表。
查看 Git 存储库克隆属性¶
您可以在 Snowflake 中查看与 Git 存储库克隆相关的属性。
要执行本部分所述的操作,您需要 DESC GIT REPOSITORY 访问控制 内介绍的 Snowflake 访问权限。
您可以使用 Snowsight 或 SQL 查看 Git 存储库克隆属性。
您可以使用 SQL 命令 SHOW GIT REPOSITORIES 和 DESCRIBE GIT REPOSITORY 查看 Git 存储库克隆属性。
属性信息包括 Git 来源 URL、API 集成的名称和用于与远程存储库连接的凭据(指定为 密钥)等。
如前所述的命令会生成类似下面的输出:
您可以使用 Snowsight 查看存储库属性。
Sign in to Snowsight.
In the navigation menu, select Catalog » Database Explorer.
在对象资源管理器中,选择包含要查看的 Git 存储库克隆的数据库和架构。
在架构内部,打开 Git Repositories。
在 Git Repositories 内部,选择一个存储库以查看其详细信息页面。
在存储库的详细信息页面中,选择 Git Repository Details 选项卡以查看包含以下详细信息的信息:
执行存储库中的代码¶
可以执行存储库中的文件所包含的代码。
要执行本部分所述的操作,您需要 EXECUTE IMMEDIATE FROM 访问控制 内介绍的 Snowflake 访问权限。
您可以使用 Snowsight 或 SQL 执行代码。
您可以使用 EXECUTE IMMEDIATE FROM 执行 Git 存储库克隆中的代码。
以下示例中的代码执行 Git 存储库克隆 snowflake_extensions 中的 create-database.sql 代码:
您可以使用 Snowsight 执行 Git 存储库中的 SQL 代码。
请注意,当您以这种方式执行代码时,您将看不到代码执行生成的输出。
Sign in to Snowsight.
In the navigation menu, select Catalog » Database Explorer.
在对象资源管理器中,选择包含要查看的 Git 存储库克隆的数据库和架构。
在架构内部,打开 Git Repositories。
在 Git Repositories 内部,选择一个存储库以查看其详细信息页面。
在存储库的详细信息页面的 Files Explorer 选项卡上,选择 Branch 按钮。
从 Branch 下拉菜单中,选择以下任一选项:
Branches,查看从存储库克隆的分支的列表。
Tags,查看从存储库克隆的标签的列表。
选择包含要执行的代码所属文件的分支或标签。
在存储库名称下,选择包含要执行的文件的文件夹。
Locate the file whose code you want to execute, and select
» Execute immediate.在显示的框中,查看文件包含的代码。
这是 Snowflake 将要执行的代码。
要执行显示的代码,请选择 Execute Immediate。
详细信息页面会显示一条通知,指明代码执行开始。它稍后会指示执行是成功还是失败。
将基于存储库的代码复制到工作表中¶
您可以将代码从存储库文件快速复制到工作表中。您可以编辑和运行复制的代码,或者将其作为其他用户的只读模板。
您可以复制以下类型文件的内容:.sql 和 .py。
要将更改保存在存储库中,您需要将工作表中的编辑代码复制到本地 Git 存储库中的文件(例如,与从中复制的文件对应的文件)中,然后从那里提交更改。
- Snowsight:
您可以使用 Snowsight 将内容从存储库中的文件复制到工作表中。
Sign in to Snowsight.
In the navigation menu, select Catalog » Database Explorer.
在对象资源管理器中,选择包含要查看的 Git 存储库克隆的数据库和架构。
在架构内部,打开 Git Repositories。
在 Git Repositories 内部,选择一个存储库以查看其详细信息页面。
在存储库的详细信息页面的 Files Explorer 选项卡上,选择 Branch 按钮。
从 Branch 下拉菜单中,执行以下任一操作:
要查看从存储库克隆的分支的列表,请选择 Branches。
要查看从存储库克隆的标签的列表,请选择 Tags。
选择包含您要复制的代码所属文件的分支或标签。
在存储库名称下,选择包含要执行的文件的文件夹。
Locate the file whose code you want to execute, and select
» Copy into worksheet.Snowflake 将所选文件中的代码复制到新工作表中。