,您将继续为dev分支开发未来版本。现在,如果您需要对RC1进行快速修复,这些修改被认为是有用的并且也是开发分支所需要的,那么
我试过3.但是有一个小问题,合并还将pom版本RC1和那些依赖版本合并到dev,覆盖了SNAPSHOT版本。可能是我做错了。
所以现在我要去2。
请告知正确的方法,谢谢
答案 0 :(得分:2)
我建议使用选项3.这也是standard branching wiki page建议的内容。将RC1中的一些修复程序合并为默认值后,您的历史记录将如下所示:
default: ... a -- b -- c -- d -- e -- f -- g
\ / /
RC1: x --- y ------ z --- w
通过这样合并,没有机会忘记包含来自RC1的错误修正 - 你让工具跟踪事物而不必自己记住它。
您提到的pom.xml
文件中的版本未正确更新的问题是由于您在创建RC1分支后更新版本。换句话说,您已在x
或y
上方更新了它。
相反,我会在分支之前将版本从1.0-SNAPSHOT
更改为默认分支上的1.0
。创建分支后,将版本更改为2.0-SNAPSHOT
或您的下一个版本。用版本号注释上面的图形,它将如下所示:
1.0-S 1.0 2.0-S 2.0-S 2.0-S 2.0-S 2.0-S
default: ... a ---- b ---- c ---- d ---- e ---- f ---- g
\ / /
RC1: x ------- y -------- z ------- w
1.0 1.0 1.0 1.0
请记住,当Mercurial合并文件时,它会比较文件的三个版本:
因此,当您将y
合并到上面的c
时,我们会考虑pom.xml
的这三个版本:
b
版本1.0 c
版本y
版本1.0 三向合并实际上是三个文件之间的“投票”:c
中的文件说版本应该更改为2.0-SNAPSHOT。来自y
的文件说版本可以保持为1.0。通过三向合并始终认为更改很好,因此合并结果将是版本2.0-SNAPSHOT。