【问题标题】:XPages: set up SourceTree for two databases as branchesXPages:为两个数据库设置 SourceTree 作为分支
【发布时间】:2019-05-08 15:00:28
【问题描述】:

刚刚开始(再次)在一个相当大的 XPage 应用程序上使用 SourceTree。

我们有两个用于开发的数据库:一个是黄金版数据库,另一个是开发数据库。当我们必须修复某些东西时,通常必须在两个数据库中完成。

所以,我想在本地为两个数据库使用 SourceTree,这样两个数据库可以共存,同时使用相同的存储库,作为分支,并且主代码中的更改会自动传输到另一个数据库.

这可行吗?如果有,怎么做?

谢谢!

【问题讨论】:

    标签: version-control xpages atlassian-sourcetree domino-designer-eclipse


    【解决方案1】:

    我建议您只对开发数据库使用源代码控制(和 SourceTree),然后使用开发数据库作为模板更新黄金版数据库。

    【讨论】:

    • 对不起,我的解释可能有些错误。在最初具有相同基础的两个数据库中存在两个不同的分支。两个数据库是分开维护的。 dev db 有一些元素与黄金数据库中的相同元素完全不同。如果可能的话,我希望在设计器中激活并打开这两个版本,这不是必需的,但是当我必须修复某些东西时,我不想一遍又一遍地提取黄金版本。因此,从本质上讲,它们是两个模板,尽管 95% 的元素相同。有解决办法吗?
    • 一个更困难的问题是如何将现有应用程序添加到一个存储库中......
    • 您可以在 Git 存储库中为每个数据库创建一个分支。然后,您可以在 SourceTree 中将每个分支作为单独的 repo 签出,然后将 Domino Designer 中的每个 db 分配给磁盘上的相关 repo。所以确实有可能。
    • 我同意 Per。正如 Git Flow 所定义的,源代码控制的标准做法是任何时候都只有一个分支。如果需要修复,请提交任何未提交的工作(如果有,但不应该有)。然后创建一个 hotfix 分支,与 ODP 同步,开发 hotfix,测试,构建(即创建一个模板),并完成 hotfix,合并回 master 和 development。每个开发人员都有他/她自己的实例——因此独立的本地 NSF,因此不会对其他人产生影响。如果您确实需要两个单独的 NSF,请同步 NSF A 上的所有内容,提交,删除从 NSF A 到 ODP 的链接。然后链接到 NSF B。
    • 开发、测试、构建部署,将 NSF B 同步到 ODP。在您的备用分支中执行所有这些操作。最后,删除从 NSF B 到 ODP 的链接,再次切换分支并重新链接到 NSF A。这可能是 Domino 之外的源代码控制的标准方法。
    【解决方案2】:

    如果您想将其视为 2 个不同的分支,实际上您可以同时打开 2 个不同的分支,您只需在 sourcetree 中设置同一存储库的 2 个不同项目(位于不同文件夹位置)。 所以要清楚这是同一个存储库,但克隆在不同的位置。

    那么这些项目应该相互设置“远程”。然后,您可以从一个遥控器推/拉到另一个。 (或者如果这太复杂了,你可以向上推到原点,然后从原点下拉到另一个项目)

    这允许您使用不同的分支检查这两个项目。

    我自己做了这个,因为我需要同时在 2 个不同的环境中开发同一个项目。

    然后,您只需要找出一个将更改从一个分支合并到另一个分支的好策略。一个好的策略可能是让你的提交非常小并且“原子”,然后你可以使用cherry-pick来选择将哪些提交应用到另一个分支。

    如果您还有其他问题,请告诉我

    顺便说一句:如果您从另一个存储库中获取 2 个数据库,那么在一个存储库中应该没有问题。我们的一个大存储库中有大约 15-20 个模板。 只需将 On Disk Project 放在不同的子文件夹中,例如

    .git/
    goldodp/
    devodp/
    

    【讨论】:

      猜你喜欢
      • 2016-04-15
      • 1970-01-01
      • 1970-01-01
      • 2016-09-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-16
      • 1970-01-01
      相关资源
      最近更新 更多