问题描述
使用以下资源作为 Git Flow 指南:
– git-flow cheatsheet
– git-flow
– Using git-flow to automate your git branching workflow
然而,这些资源都没有明确提到在何时执行 “npm publish”。是在增加版本号后但在完成发布之前执行吗?这意味着发布是从发布分支进行的。还是在完成发布后从主分支执行发布?
解决方案
请注意以下操作可能涉及版本差异,确保备份并在生产环境中谨慎操作。
方案1:在每次合并到主分支后自动执行 “npm publish”
推荐将持续集成(CI)系统配置为在每次提交到主分支(master)后自动执行 “npm publish”。也就是在发布分支合并之后进行发布。
这个做法有一些明确的原因:
1. 与标签匹配:提交到主分支(master)的提交会被打上版本号的标签。你希望最终发布的内容与标签中的源代码版本完全匹配。虽然如果 Git Flow 完美运行,不应该出现合并问题,但还是最好发布与合并之前提交严格匹配的内容。
2. 自动化:这是一个非常简单的规则,可以自动化处理。如果在发布分支上进行了任何最终测试,你需要手动决定是否可以进行发布;你的 CI 系统(可能)无法仅根据发布分支的存在来做出这个决定。另一方面,由于每次提交到主分支都会合并一个经过完全验证的发布(或热修复)分支,提交本身就是一个表示你已准备好发布的信号。
方案2:手动在发布完成后执行 “npm publish”
另一种方法是在完成发布后手动执行 “npm publish”。
这种方法需要更多的人工干预,但也能够更好地控制发布的时机。在你完全满意发布分支的内容,并且经过了充分的测试后,你可以手动执行 “npm publish”。
请根据你的工作流和团队的需求,选择适合你的方法。
请确保在实际操作前阅读并理解相关文档,并在非生产环境中进行实验。
总结
根据你的需求和团队流程,你可以选择在每次合并到主分支后自动执行 “npm publish”,或者在发布完成后手动执行 “npm publish”。两种方法都有各自的优点和适用场景,选择适合你团队的方式,确保发布流程的顺利进行。