如果您还不知道, Mendix 一直 使用 Git 代替 SVN 自 9.21 版起,它将成为 Mendix 继续前进。这是因为 Git 比 SVN 有几个优势,例如:
- Git 是 Github、Azure 和 AWS 等公司的软件版本控制标准。
- Git 存储存储库的本地版本,这意味着开发人员不再依赖高速互联网连接,因为他们不需要经常同步他们的工作。
- 使用 Git,与中央存储库同步更改更快、更可靠。
- 使用 Git,您可以提交更改,而无需立即将这些更改推送到中央存储库。这样您就可以更好地控制提交的内容和时间。
- 使用 Git,您必须先在本地提交才能检索任何更新,这意味着如果您在解决冲突时犯了错误,您仍然可以查看您和您的同事所做的更改并解决它们,而不必将您的代码与服务器完全合并才能查看冲突。
- 最后,如果您需要更紧密地管理事务,您可以使用第三方 Git 工具,例如 Github Desktop。
如果你的应用尚未迁移到 Git,只需搜索 “迁移到 Git” Mendix 文档页面 了解有关进行更改的更多信息。
我不会在这篇博客中做迁移指南。相反,我将讨论如何在你的 Mendix 开发。我将介绍 SVN 和 Git 在处理项目变更时的一些区别,最后,我将介绍如何使用 GitHub 作为您的 Mendix 应用程序私人 git repo。
本地提交并推送到服务器
正如我之前提到的,SVN 和 Git 之间最大的区别在于将更改推送到服务器的方式。使用 SVN 时,每次更新或提交时都会同步所有内容。使用 Git,您必须在本地提交更改 before 您可以将它们推送到服务器。
那么它看起来是什么样的呢?让我们在 Studio Pro 中看一下。
在 Studio Pro 中,我们仍默认将提交自动推送到存储库,但如果您想要在进行许多更改时创建本地保存点,则可以在提交之前取消选中此复选框。这些本地提交的工作方式与常规提交类似,这意味着如果出现问题,您仍然可以回滚到它们,或者将它们用作分支的起点
如果您转到应用程序的开发人员门户中的团队服务器,您实际上就能够看到这一点,在进行本地提交后,您将不会看到它与已推送的所有提交一起出现在这里。

修订号
您可能注意到的另一件事是,在比较 SVN 和 Git 时,版本号有所不同。SVN 使用顺序编号系统来表示其修订版本,例如“1.0”或“2.0.1”。但 Git 使用 SHA 哈希字符串。虽然这似乎是一个微小的差异,但这意味着它们可以在分布式设置中生成,并且在具有相同更改的不同客户端上仍然相同。

使用 Github 作为第三方 Git
现在我们已经介绍了 SVN 和 Git 之间的一些基本区别,我将向您展示如何将 Github 用作第三方 Git 或私有 Git 存储库。
为此,您需要 Github 的 PAT 或个人访问令牌,我们将使用它来授权 Studio Pro,以便它可以连接到存储库。要了解有关如何执行此操作的更多信息,只需搜索“为 Github 创建 PAT“Github Docs 提供了有关如何执行此操作的出色演练,并且只需几分钟即可完成向导。
获得 PAT 后,您需要确保已安装 Github 的桌面客户端。也可以使用其命令行,但使用其桌面客户端会容易得多。
要开始此过程,我们必须在 Studio Pro 中创建一个应用程序。为此,我使用的是 9.24.2 版本,我将只创建一个简单的空白 Web 应用程序。现在,当您创建应用程序时,重要的是不要启用在线服务。目前,我们只希望应用程序在开发机器上本地存在。这里还有一件重要的事情是始终创建 Mendix 首先是项目,因为 Mendix 需要一个空目录或文件来创建项目。

创建应用程序后,您必须使用桌面客户端创建 Github 存储库。请确保在此处选择“从硬盘”选项。

现在,在我们可以正确地将 Studio Pro 连接到此存储库之前,存储库中至少需要有一个手动提交。因此,我们需要在这里引入一些更改。在我的示例中,我将只更改用户主页上标签上的一些副本,确保将更改保存在项目中。现在我可以返回 Github Desktop 客户端并提交该更改。
现在,一切准备就绪,可以将 Studio Pro 连接到 Github。在 Studio Pro 中,我们可以选择“从版本控制服务器下载”。从那里,选择“私人服务器”并输入您的应用程序存储库地址。如果您以前从未输入过 Github 凭据,系统将要求您通过输入存储库的用户名和密码来向存储库进行身份验证。
用户名是拥有该仓库的 Github 帐户的电子邮件地址,密码是 PAT 令牌,您需要从 Github 获取(如前所述)。输入您的凭据时,请确保选择“保持登录状态”,这样您就不必每次想要提交时都输入详细信息。
现在我们可以将项目下载到您通常保存 Mendix 应用程序,此时, Mendix 正在从您的 Github 存储库下载项目。打开项目后,您将可以完全访问版本控制下的选项,并且可以像使用任何其他应用程序一样继续开发和推送更改。
阅读更多关于 Mendix & Git:
- https://docs.github.com/en/get-started/quickstart/create-a-repo
- https://docs.mendix.com/refguide/version-control/
- https://docs.mendix.com/refguide/svn-git-differences/