1. FAQ
1.1. Release 版本发布是否需要创建单独分支?
基于主 master 分支上开发,在需要发布版本时创建对应的 tag 版本,对于问题的 fix 修复,基于 tag 创建分支后修复再发布新的版本和 tag。
基于分支管理版本时,每个 Release 版本都会有单独分支,问题的修复再对应的 Rlease 中修复并发布 fix 版本。
[!TIP|style:flat] 基于以下的数据统计分析,可以考虑在 master 分支开发最新功能,每个功能版本单独提供一个分支管理。
以下列举一些在 github 上 starts > 50k 的部分项目分支情况
不创建单独分支:
- https://github.com/torvalds/linux
- https://github.com/twbs/bootstrap
- https://github.com/airbnb/javascript
- https://github.com/ossu/computer-science
- https://github.com/vercel/next.js
- https://github.com/mrdoob/three.js
- https://github.com/puppeteer/puppeteer
- https://github.com/PanJiaChen/vue-element-admin
- https://github.com/microsoft/PowerToys
- https://github.com/rust-lang/rust
- https://github.com/chrislgarry/Apollo-11
- https://github.com/ElemeFE/element
创建单独分支:
- https://github.com/kubernetes/kubernetes
- https://github.com/facebook/react
- https://github.com/facebook/react-native
- https://github.com/microsoft/vscode
- https://github.com/microsoft/terminal
- https://github.com/microsoft/TypeScript
- https://github.com/tensorflow/tensorflow
- https://github.com/moby/moby
- https://github.com/django/django
- https://github.com/bitcoin/bitcoin
- https://github.com/webpack/webpack
- https://github.com/angular/angular.js
- https://github.com/nodejs/node
- https://github.com/angular/angular
- https://github.com/ant-design/ant-design
- https://github.com/elastic/elasticsearch
- https://github.com/pallets/flask
- https://github.com/jquery/jquery
- https://github.com/redis/redis
- https://github.com/ansible/ansible
- https://github.com/flutter/flutter
- https://github.com/mui-org/material-ui
- https://github.com/laravel/laravel
- https://github.com/vuejs/awesome-vue
- https://github.com/opencv/opencv
- https://github.com/apple/swift
- https://github.com/gohugoio/hugo
- https://github.com/chartjs/Chart.js
- https://github.com/gatsbyjs/gatsby
1.2. Release 基于什么创建?
一般都是基于 git 的 tag 来创建 Release 发布版本。
[!TIP|style:flat] 在版本发布前先创建对应的 tag,基于 tag 来发布 Release