假设我有一些软件的最新版本是1.1。从那里开始继续发展:
master
april_fools
分支。我的计划是将临时代码标记为v1.2
并将其释放,但永远不会将其合并为主。这是因为如果我合并它:
版本1.3将根据master
上的最新提交进行标记和发布。
这似乎是最干净的解决方案,但我有点犹豫。 我是否应该担心版本1.1和1.3没有干预提交标记为1.2的提交版本?这是否会导致以后开发人员查看提交历史记录的混淆?
答案 0 :(得分:2)
你的计划对我来说听起来不错。如果我正在使用存储库并且看到v1.2被跳过了,它可能会让我想知道为什么,我可能会记下以后再查看它,但它不会真的阻止我做任何工作。我之前使用过带有奇怪版本编号的软件,所以我可能只是假设它在过去是一些内部的小混乱。
对于好奇的开发人员,您可以在项目文档中 - 在项目维基或docs
文件夹或其他内容中记录“v1.2在哪里?”。虽然如果您的唯一文档是自述文件,那么添加它可能并不重要。
答案 1 :(得分:2)
简答:不。
标记是对DAG中提交的引用,您并不真正关心该图的历史连续性。
您只关心获取标签引用的确切内容。
如果带有标签1.2的分支与带有1.3的主分支之间没有合并,则会强调开发过程中的明显中断(因为重构)。
只要semantic of the version number policy得到尊重,(1.2 - > 1.3完全API兼容性),您就可以了。
答案 2 :(得分:2)
分支从彼此转移的时间越长,合并的时间就越差,如果最终你将被迫这样做。
如果以后丢弃当前的主线,那么所有完成的工作都将浪费掉。这个决定所用的时间越长,情况就越糟糕。再次糟糕。
由于它是一个永远不打算合并的叉子,所以不要用1.2
标记它。
给它一个有用的名字,这会让你了解那里发生的事情。
即使您不知道发生了什么变化。让它成为白痴。你现在和你在半年内不是同一个人,知识明智。