【问题标题】:Monticello: Workflow for simultaneous collaborative development / correctly numbering a version when copying to remote repositoryMonticello:同步协作开发的工作流程/在复制到远程存储库时正确编号版本
【发布时间】:2014-01-07 07:21:04
【问题描述】:

在工作的时候,我做了很多修改。每当代码处于合理的状态时,我都喜欢提交。但并非所有这些提交都很有趣。所以我将这些提交提交到本地磁盘或私人服务器。它看起来像这样:

  • 我早上取包Foo,所以它的版本是FamousSmalltalkGuy.14
  • 我在早上 (15)、午餐 (16) 和晚上 (17) 在本地提交。现在本地打包Foo 最高可达DanielLyons.17
  • 看起来像 Famous Smalltalk Guy 将版本 15 推送到 Smalltalkhub。
  • 我将FamousSmalltalkGuy.15 与我的图像中的内容合并,生成DanielLyons.18

现在我想将DanielLyons.18 推送到 Smalltalkhub。什么是正确的做法?

  1. 复制版本(单击 Monticello UI 中的复制按钮)。

    这感觉不对,因为FamousSmalltalkGuy.15DanielLyons.18 之间会有不连续性。

  2. 在 Smalltalkhub 存储库中提交一个新版本,在框中手动写入 DanielLyons.15

    这感觉不对,因为它似乎混淆了我的本地形象。毕竟以前见过DanielLyons.15,这不是。

我确信这里有正确的事情要做,但我不知道它是什么。如果有人能阐明同时协作开发的正确蒙蒂塞洛工作流程,我将不胜感激。谢谢!

【问题讨论】:

    标签: version-control smalltalk pharo monticello


    【解决方案1】:

    您应该将所有版本复制到远程存储库,否则您将丢失宝贵的历史记录。目前,由于蒙蒂塞洛的实现方式,它会产生许多与祖先的断开链接,因为人们忘记从本地存储中复制中间版本。是的,版本号很愚蠢。在分布式版本控制中不能有连续的版本号,所以我更喜欢保留提交名称,只需将所有内容复制到远程存储库

    【讨论】:

      【解决方案2】:

      向后移植

      Monticello 有一个所谓的 backport changes 功能,可以让您应用自己的更改 通过多次提交积累到旧版本上。不过很少用。

      分支

      另一个过程是在本地创建一个分支,然后仅在最后与您要提交的版本进行合并。

      通过将 -branchname 附加到包名称来完成蒙蒂塞洛分支: Foo-DanielLyons.18 变为 Foo-mybranch-DanielLyons.18

      如果蒙蒂塞洛拒绝合并,您可以说“采用为祖先”并指定您的新版本将您的分支作为祖先的原始提交。

      然后过程如下:

      1. 获取当前版本,比如Foo-FamousSmalltalkGuy.14
      2. 做你的事情并像这样提交它:
        1. 提交您的版本Foo-myImportantTopic-DanielLyons.15
        2. 提交您的版本Foo-myImportantTopic-DanielLyons.16
        3. 提交您的版本Foo-myImportantTopic-DanielLyons.17
      3. 领养版本Foo-FamousSmalltalkGuy.14
      4. Foo-DanielLyons.15 提交到远程

      【讨论】:

        猜你喜欢
        • 2014-11-06
        • 1970-01-01
        • 2016-08-01
        • 1970-01-01
        • 1970-01-01
        • 2020-06-16
        • 1970-01-01
        • 1970-01-01
        • 2013-03-07
        相关资源
        最近更新 更多