使用 Git 版本控制编辑画布应用(试验)

[本文为预发布文档,可能会发生变化。]

重要

  • 此功能正在推出,根据您所在的地区,您的租户可能还不能使用。 检查启用 Git 版本控制中所述的试验性切换,了解此功能是否在您的租户中可用。
  • 这是一项试验功能。 默认情况下它是禁用的,使用前必须启用
  • 试验功能不适合生产使用且功能可能受限。 这些功能在正式发布之前推出,以便客户可以提前使用并提供反馈。

您可以使用 Git 版本控制试验功能让多人同时编辑画布应用。 使用此功能,当一个人正在编辑应用时,其他人不会被锁定在应用之外。 随着更改的进行和同步,它们会自动与其他更改合并,并可供编辑应用的所有其他人使用。

Git 用作此功能的后备存储。 在与 Git 的连接进行初始设置后,除了使用 Git 进行身份验证外,任何用户都可以使用此功能而无需任何额外的配置步骤。

任何 Git 提供程序都可以与 Power Apps Studio 一起使用—如 GitHubAzure DevOps。 使用现有的 Git 工具可查看版本历史记录、创建和管理拉取请求以及执行其他版本控制任务。

备注

  • 在开始之前,请确保已阅读此功能的已知限制。 Git 的使用在不断发展,可能会改变此功能的工作方式。 如需获取更新或分享您对此功能的反馈,请访问 Power Apps 社区论坛
  • Git 版本控制按应用进行管理。 每个应用都必须单独添加到 Git 版本控制中。
  • 启用 git 版本控制后,您的应用的自动保存功能将被禁用。 您必须手动保存或同步您所做的更改。

启用 Git 版本控制

请按照以下步骤在应用中启用 Git 版本控制。

  1. 创建一个新应用或打开您想要添加到 Git 版本控制的现有应用。

  2. 在 Power Apps Studio 中选择设置

  3. 选择即将推出的功能

  4. 选择试验

  5. 向下滚动到显示 Git 版本控制设置,将其打开

  6. 您将在设置窗格的左侧看到一个新的 Git 版本控制项。

    切换以启用 Git 版本控制。

    提示

    有关此功能的任何其他问题,请访问 Power Apps 社区论坛

将应用连接到 Git

请执行以下步骤可将您的应用连接到 Git。

  1. 在 Power Apps Studio 中选择设置

  2. 选择 Git 版本控制

    用于为此应用启动与 git 的连接的按钮。

  3. 选择连接,为此应用填写 Git 连接信息。

    用于提供 git 连接信息的文本输入框。

    • Git 存储库 URL:通常会用于 Git 工具的 URL。 对于 Azure DevOps,请确保包含 URL 的 /_git/repo 部分,如 https://contoso.visualstudio.com/_git/repo
    • 分支:要使用的分支名称。
    • 目录:分支中要使用的目录。 不能将画布应用存储在分支的根目录下。

    如果分支或目录不存在,系统将提示您创建。 如果分支和目录已包含画布应用,当前应用将关闭,现有应用将从 Git 加载。

    连接后,将显示连接信息。

使用 Git 进行身份验证

Power Apps 需要您使用个人访问令牌而不是您的版本控制提供程序帐户密码。

备注

个人访问令牌与您的密码不同,无论是对于 Power Apps 还是您的 Git 提供程序。 您必须创建个人访问令牌才能使用此功能。

不同的版本控制提供程序有不同的方法来生成个人访问令牌。 请按照以下说明获取个人访问令牌。

  • GitHub - 创建个人访问令牌
  • Azure DevOps - 使用个人访问令牌
  • 其他版本控制提供程序:任何 Git 提供程序都可以与 Git 版本控制一起使用。 请查看您的提供程序的文档,了解如何创建个人访问令牌。

在编辑连接到 Git 的应用时,系统会提示您输入用户名和密码。 在此对话框中输入您的用户名访问令牌以使用 Git 进行身份验证。

对话要求输入 Git 用户名和访问令牌(作为密码)。

备注

Git 凭据不会由会话之间的 Power Apps 存储。 如果需要,您可以使用浏览器设置来保存窗体信息供重复使用,以避免频繁输入凭据。

对应用进行更改

应用连接到 Git 后,您只需使用 Git 凭据进行身份验证来打开和编辑应用。 使用此功能加载、编辑、保存、发布和共享应用时,您无需了解 Git 概念。

使用 Studio 屏幕顶部的新同步按钮(在应用检查器撤消按钮之间)将任何当前更改与 Git 中的更改合并,然后将结果引入 Studio 进行进一步编辑。

用于将更改与 Git 存储库同步的按钮。

重要

每次合并时都需要加载应用。 如果应用很大,加载可能需要一些时间。

连接到 Git 后,更改将存储在 Git 中而不是 Power Apps 中。 未发布的版本不会显示在 Power Apps 制作者门户中。

合并结果

目前没有解决合并冲突的选项。 工作室将尝试通过应用的语义知识(例如,对象类型和其他应用更改)自动合并和修复冲突。 由于所有更改仍存储在 Git 中,如果自动合并不满足您的业务要求,您始终可以检索应用更改以重新应用。

发布应用程序

连接到 Git 的应用将继续正常工作以进行发布和提供用户体验,此过程没有任何更改。 当您发布应用时,应用版本存储在 Power Apps 中,因为 Power Apps 需要应用的可运行副本与用户共享。

拉取请求、查看历史记录、归责和其他 Git 功能

处理拉取请求或任何其他 Git 操作必须通过其他 Git 工具完成,包括 Git 提供程序的网站。 没有选项可用于执行此类 Git 操作来拉取或推送提交。

每次包含更改的保存或同步都会导致在 Git 中提交。 如果 Git 中发生了其他更改,例如,由其他制作者进行的更改,则将进行额外的提交以合并所有更改的结果。 即使合并会替代编辑,也不会丢失任何更改。 每个制作者进行的更改都通过提交存储在 Git 中。

已知限制

由于此功能是试验功能,我们欢迎您提供反馈。 下面列出了已知限制。 我们计划在将来的版本中消除其中的大多数限制。

  • 此功能与代码组件不兼容。 请不要将此功能用于使用代码组件的应用。
  • 此功能与本地 Git 存储库不兼容。 Git 存储库必须在 Web 上托管,并且必须可以使用用户名和个人访问令牌进行访问。
  • 对同一控件上的同一属性的编辑不会合并。 将应用最后一次编辑。
  • 您无法使用还原应用一文中描述的步骤将画布应用还原到以前的版本。 而是必须使用 Git 将应用还原到以前的版本。 有关详细信息,请参阅以下资源:
  • 将多个应用连接到同一个 git 目录可能会导致问题。 这包括制作您的应用的副本以及导出和导入副本。
  • 存储库中名称长度超过 180 个字符的任何现有文件都可能在连接时导致问题。 我们建议为 Git 连接的应用使用专用存储库。
  • 文件菜单上选择关闭可能会删除您在应用中的自定义设置。 但是,不会删除自定义项。 刷新页面可再次看到所有自定义项。
  • 如果您从 git 连接的应用(例如,应用 B)(文件 > 打开)中打开非 git 连接的应用(例如,应用 A),并尝试将应用 A 连接到存储库,应用 A 的 git 版本控制参数将与应用 B 相同。发生这种情况时,请刷新您的页面,然后再次尝试将应用 A 连接到存储库。
  • 此功能不支持重命名自定义组件。
  • 如果您看到有关应用正在打开以供其他用户编辑的消息,请告知提到的用户刷新应用。 之后,刷新您的应用以移除锁定。
  • 此功能与 Test Studio 测试模型驱动应用的自定义页面不兼容
  • 此功能不支持使用被授权用于 SAML 单一登录的个人访问令牌。

向社区论坛提供反馈

请告诉我们您的想法! 此功能是实现出色的团队开发体验的漫长旅程的第一步。 访问 Power Apps 社区论坛获取更新并提供反馈。