如何利用GitHub进行协作开发¶
开发模式¶
PR开发流程¶

上游仓库通常保留Release, main, pre 和 dev 三个分支:
main分支一般为活跃的开发主版本,受到保护,不接收下游分支的直接合并,只可以从dev分支合并, 需管理员在github上手动完成合并
pre分支为预发布版本,用于测试与文档维护,不进行任何代码维护(包括注释),只可以从main分支合并而来。
dev分支为开发分支,通常不接收直接修改,只允许从dev热分支或下游分支合并
dev热分支,也为开发分支,主要针对特定功能或issue的开发或解决
Release分支为稳定发布版本,由pre分支对应的测试稳定版本签出合并得到
如果作为开发者,准备对代码进行贡献,可以直接从上游仓库fork到个人仓库;
github默认只fork main分支,无特殊需求,可以直接从main主分支添加新功能。下游对应的main分支可以随时同步上游的变化。
如果有其它需求,只能选择fork 所有分支,并选择特定分支进行修改。
如果只是想要使用代码,clone相关分支到本地即可,在需要贡献代码时,再进行fork与pull request 操作
下游开发者,每次代码贡献,务必从上游fork最新的代码,再进行修改与合并。main分支时刻保持与上游同步。建议在下游操作时,就解决分支的相关冲突。此外,下游开发者尽可能不要修改下游的main或对应的fork分支,一般通过新建分支,在新分支上进行修改,然后再合并到上游dev或相应的热分支。
在pull request中务必选择dev 开头的分支,或有需要,请联系管理员,新建dev 热分支
dev热分支与dev分支的合并均在github或codespace中进行,完成合并后的main分支,务必需要在本地进行初步测试,再合并到pre分支进行预发布版本的测试。
为了让不同开发者的代码尽可能差异最小化,建议开发者尽可能在完成较小功能时,就实现PR,合并到dev分支以及main分支
以上流程为试行,在后期开发过程中再根据实际情况进行调整