Git工作流程
分支
- master: 用于生产环境部署, 只接受合并请求, 不直接提交
- testing: 用于测试环境测试
- develop: 用于日常开发主线, 其他分支只能合并到 develop 分支
- feature-xxx: 用于增加一个新功能
hotfix-xxx: 用于修复一个紧急bug
每次开发新功能,都应该新建一个单独的分支工作流
如果要贡献代码, 首先应阅读贡献指南, 确认如果贡献代码
- Fork对应的项目, 然后基于develop分支, 新建一个分支, 在这个分支上进行开发
- 开发时应遵守相应的编码规范和Git日志规范, 提交日志应当给出完整扼要的提交信息
- 开发完毕后, 先在本项目库上合并到develop分支, 合并完成之后再PR到原项目库
Commit message 和 Change log 编写指南
Git 每次提交代码,都要写 Commit message(提交说明),否则就不允许提交 +Commit message 遵从 Angular 规范
安装 Commitizen 来格式化 commit , 使其遵循以上规范
首先注意将package.json和node_modules加入.gitignore文件
全局安装commitizen: npm install -g commitizen
在项目根目录初始化package.json: npm init --yes
项目根目录运行 commitizen init cz-conventional-changelog --save --save-exact
每次提交代码时, 用 git cz
代替git commit
自动生成 Change log
安装 npm install -g conventional-changelog-cli
使用conventional-changelog
生成日志: conventional-changelog -p angular -i CHANGELOG.md -s -r 0
版本号使用规范
版本号遵循语义化版本规范.
版本格式:主版本号.次版本号.修订号,版本号递增规则如下:
主版本号:当你做了不兼容的 API 修改,
次版本号:当你做了向下兼容的功能性新增,
修订号:当你做了向下兼容的问题修正。
先行版本号及版本编译信息可以加到“主版本号.次版本号.修订号”的后面,作为延伸。
更多内容参见 语义化版本
参考资料
Git 使用规范流程
Commit message 和 Change log 编写指南
Git commit message 规范