将工作区与 Git 存储库集成¶
重要
从 2025 年 9 月开始,Snowflake 逐步将默认账户从 Worksheets 升级为 Workspaces。工作区将成为默认的 SQL 编辑器。有关更多信息,请参阅 将账户从 Worksheets 默认设置为 Workspaces。
概述¶
工作区可以是 Snowflake 的本地工作区,您也可以将开发中的工作区与 Git 存储库中的分支同步。在工作区中,您可以执行以下操作:
将最新更改从您的 Git 存储库提取到工作区。
提交更新的文件并将其推送 回您的 Git 存储库。
直接在工作区中 查看和解决任何冲突。
创建 Git 工作区¶
要在 Snowsight 中直接开发和维护文件,您可以创建一个与 Git 存储库连接的工作区。
备注
一个 Git 存储库必须包含至少一个分支;不支持空存储库。
要创建新的 Git 同步工作区,请按照以下步骤操作:
登录 Snowsight。
在导航菜单中,选择 Projects » Workspaces。
在 Workspaces 菜单中,选择 From Git repository。
从 Git 存储库中复制 URL(例如
https://www.github.com/my-user/my-repo-name),然后将其粘贴到 Repository URL 字段中。可选:重命名新的 Git 同步工作区。
在 API Integration 菜单中,选择一项 API 集成。
The API integration must allow access to the Git repository URL you used in step 4. Creating an API integration requires the CREATE API INTEGRATION privilege, which is often restricted to admin roles in many accounts. If another role created the API integration, the current role must have the USAGE privilege on that API integration.
Select an authentication method:
OAuth2 - To use OAuth2 for authentication, you must configure the API integration to support OAuth with your Git provider. For more information, see 设置 Snowflake 以使用 Git. Complete the following steps:
Select Sign in to authenticate with your GitHub repository.
Select Configure next to the account you want to use, then select Authorize next to Snowflake Computing to allow the
snowflakedbapp to access your repository.Under Permissions, ensure that Read access to metadata and Read and write access to code permissions are granted to allow you to pull and push changes to your repository.
Under Repository access, specify the level of access you want to grant to Snowflake.
Select Save.
For more information, see OAuth app access (https://docs.github.com/en/apps/oauth-apps/using-oauth-apps/authorizing-oauth-apps#oauth-app-access). After an authorized admin approves the app, all users in the account can use it.
Personal access token – 选择存储包含您的令牌的对象的数据库和架构。要创建新密钥,请选择 + Secret 并输入所需的详细信息。必须将 API 集成配置为允许访问此密钥或所有密钥。
Public repository – 如果您使用不需要身份验证的公共存储库,请选择此选项。请注意,无法将任何更改从您的工作区提交并推送到此公共存储库。
选择 Create。
创建新分支¶
您可以从当前分支创建一个新分支,以独立处理更改。
登录 Snowsight。
在导航菜单中,选择 Projects » Workspaces。
选择 Changes 选项卡。
选择存储库下拉列表。
选择 + New。
指定新的分支名称,然后选择 Create。
切换到另外一个分支¶
如果您已保存更改,但尚未提交,则需要在切换分支之前选择如何处理这些更改。
登录 Snowsight。
在导航菜单中,选择 Projects » Workspaces。
在 Git 工作区视图中,选择 Changes。
从分支菜单中,选择要切换到的分支。
小技巧
要筛选列表,请开始键入分支名称。
提取远程分支¶
如果在 Snowsight 外部创建了新分支(例如,在 Git 提供商中创建了分支),则可以使用 Fetch All 选项,将其提取到 Git 同步工作区中。这会更新您的可用远程分支列表。
登录 Snowsight。
在导航菜单中,选择 Projects » Workspaces。
在 Git 工作区视图中,选择 Changes。
选择 Pull 菜单旁边的向下箭头,然后选择 Fetch All。提取完成后,新创建的远程分支会显示在分支列表中,可供签出。
查看已更新的文件¶
要查看自上次成功提交和推送以来添加、删除或修改的所有文件,请按照以下步骤操作:
登录 Snowsight。
在导航菜单中,选择 Projects » Workspaces。
在文件夹视图的顶部,选择 Changes。修改后的文件用 M 表示,新添加的文件用 A 表示,已删除的文件用 D 表示。
要通过差异可视化的方式查看编辑器中的更改,请选择一个文件。
提交和推送更新¶
在查看更改后,您可以从工作区内提交更改,并将其推送到远程 Git 存储库。
要提交更新后的文件并将其推送到远程 Git 存储库,请按照以下步骤操作:
登录 Snowsight。
在导航菜单中,选择 Projects » Workspaces。
在文件夹视图的顶部,选择 Changes。
在 Commit message 字段中编写一条提交消息。
选择 Push。
编写提交消息,然后选择 Push 将更新推送到 Git 存储库。
备注
如果检测到冲突,系统会提示您先提取。选择 Pull,查看存在冲突的文件列表。
查看和解决冲突¶
如果在推送期间发生冲突,则可以直接在工作区中查看和解决冲突,然后再次提交。
在工作区的文件夹视图顶部,选择 Changes。如果一个或多个文件发生冲突,则视图顶部会显示一条消息。有冲突的文件用红色的 M 表示。
要通过差异可视化的方式查看编辑器中的冲突,请选择一个文件。在 File with conflicts 下,差异会以内嵌方式突出显示。
接受当前更改和/或传入的更改。此时会显示合并的结果。
在 Diff View 下,您可以并排查看当前版本和远程版本。
选择 Accept all current 或 Accept all remote。
解决冲突后,选择 Push。
编写一条提交消息。
选择 Push。