只是想了解如何使用语义发布。我使用节点release-it
库,但我认为这无关紧要。问题是关于语义发布和提交的一般性问题。
所以…例如,我有一个榨汁机,可以做苹果汁。它以1.0.0版本发布。然后我决定添加制作橙汁和柠檬汁的能力(将在1.1.0中)。这将是两次feat
提交。后和我完成了开发,但是在之前我在一个新特性中发现了一个问题。如果我在修复时使用fix
commit,那么自动发布说明生成器会将其添加到"Bug修复"中。部分。但是这个bug从来没有存在过,因为这个特性从来没有发布过。
修复未发布功能中的问题的正确方法是什么?
我承认我从来没有使用过常规提交,但是,根据标签定义中的链接规范,我认为您可以从这个建议中推断:
如果我不小心使用错误的提交类型,我该怎么办?
当你使用的类型是规范的,但不是正确的类型时,例如用fix代替feat
在合并或发布错误之前,我们建议使用
git rebase -i
编辑提交历史。发布后,根据您使用的工具和过程,清理工作将有所不同。
在你的场景中,当你修复一个feat
错误时,你还没有发布,所以我将上述解释为暗示你可以在这种情况下使用交互式重基,将你的错误修复压缩到原始的feat
提交中。
如果由于某些原因不希望重新设置基数,那么也许您可以使用其他类型:
类型除了fix:和feat:是允许的,例如@commitlint/config-conventional(基于Angular约定)建议使用
build:
、chore:
、ci:
、docs:
、style:
、refactor:
、perf:
、test:
等。
,甚至是一个故意未定义的类型,如misc:
或fixup:
,这是允许的:
当您使用非规范类型时,例如将feat替换为feet
在最坏的情况下,如果提交不符合常规提交规范,这并不是世界末日。这仅仅意味着基于该规范的工具将忽略提交。