在工作的时候,我做了很多修改。每当代码形式合理时,我都愿意提交。但并非所有这些提交都很有趣。所以我将这些提交提交到本地磁盘或私有服务器。它看起来像这样:
Foo
,所以它的版本是FamousSmalltalkGuy.14
。Foo
包最多为DanielLyons.17
。FamousSmalltalkGuy.15
与我在图片中的内容合并,生成DanielLyons.18
。现在我想将DanielLyons.18
推送到Smalltalkhub。什么是正确的做法?
复制版本(单击Monticello UI中的“复制”按钮)。
这感觉不对,因为FamousSmalltalkGuy.15
和DanielLyons.18
会出现不连续性。
在Smalltalkhub存储库中提交新版本,在框中手动编写DanielLyons.15
。
这感觉不对,因为它似乎混淆了我的本地形象。毕竟,之前看到DanielLyons.15
,而不是它。
我确信这里有正确的做法,但我不知道它是什么。如果有人能够对正确的蒙蒂塞洛工作流程进行同步协作开发,我将非常感激。谢谢!
答案 0 :(得分:5)
您应该将所有版本复制到远程存储库,否则您将丢失有价值的历史记录。当然,由于蒙蒂塞洛的实施方式,它会产生许多与祖先断开的链接,因为人们忘记从本地存储中复制中间版本。是的,版本号是愚蠢的。您不能在分布式版本控制中使用顺序版本号,因此我更喜欢保留提交名称,只是将所有内容复制到远程存储库
答案 1 :(得分:3)
Monticello有一个所谓的后端更改功能,可让您应用更改 在几个提交工厂累积到旧版本。很少使用,等等。
另一个过程是本地创建分支,并且最后只与您要提交的版本合并。
通过将-branchname
附加到包名称来完成Monticello分支:
Foo-DanielLyons.18
变为Foo-mybranch-DanielLyons.18
如果Monticello拒绝合并,您可以说“采用作为祖先”并指定您的新版本将您的分支和作为祖先的原始提交。
然后过程如下:
Foo-FamousSmalltalkGuy.14
Foo-myImportantTopic-DanielLyons.15
Foo-myImportantTopic-DanielLyons.16
Foo-myImportantTopic-DanielLyons.17
Foo-FamousSmalltalkGuy.14
Foo-DanielLyons.15