如何有效多人合作参与开源项目之 git 分支管理的讨论

技术问题 · successgo · 于 5年前 发布 · 3082 次阅读

一个好的开源项目,一定离不开众人的参与。 一个好的开源项目,一定是源源不断的人参与贡献,不再是一潭死水。 一个好的开源项目,一定是拥有一套完备的使用文档和开发者规约。

人人可以参与贡献,人人可以报告问题。

报告文字错误,说明你是一个认真的人,不希望一块好玉有一点瑕疵。 帮助修改文字错误或者完善注释,那说明你也希望别人看到一个更完美的一面。 随着源码的深入,你可以参与到核心代码中。

因此我们需要约定个 abc123:

master 分支作为主要分支,所有的 bug fix,typo fix 都基于此分支。并且定期发布小版本,如果是紧急 bug 可即时发布新版本。

dev 分支作为开发分支,所有的新特性都基于此开发,并针对每一个特性单独建立分支,开发完毕合并到 dev 分支,测试没有问题后,合并到 master 分支,发布大版本。

开源项目如何取版本号,如何发布新版本,参考: https://semver.org/

其他参考链接:

https://sandofsky.com/blog/git-workflow.html

本文由 successgdc 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。

共收到 4 条回复
Fecmall#15年前 0 个赞

master 分支作为主要分支,所有的 bug fix,typo fix 都基于此分支。并且定期发布小版本,如果是紧急 bug 可即时发布新版本。

问: 修复bug也要通过新分支合并到master吧?

另外合并到master的修复bug的代码分支,是否也需要合并到dev分支,什么时间合并?具体如何操作?

successgo#25年前 0 个赞

紧急的 bug 的话,以 master 为基拉新分支,修复完合并到 master。

如果文字类的小错误之类的,以开发分支为基拉取新分支。

对 master 的修复,定期开并到 dev 分支,也可时时合并到 dev 分支。

successgo#35年前 0 个赞

master 始终是稳定版本的最新。

dev 始终包含有最新代码。

Fecmall#45年前 0 个赞

1.你之前说的你遇到的问题

你不想升级,只想解决某个bug的修复,那么更新master分支?

2.fecshop除了库包,还有外层包:https://github.com/fecshop/yii2_fecshop_app_advanced

这个包的分支管理

先整体想想,串联下逻辑

添加回复 (需要登录)
需要 登录 后方可回复, 如果你还没有账号请点击这里 注册
Your Site Analytics