传统流程
主要分为两个分支,一个为main
,一个为开发分支,其中main
分支为主要分支,需要保证分支上的代码能够正常运行,功能正常,而开发分支则用来开发新功能,修复bug等。
单人多机远程开发
当在多个场所进行开发时如:公司、学校、家等,则需要维护一个远程的公共仓库,对于每个机器,在进行开发时,都需要在本地pull
最新的远程提交,并将开发分支合并进main
分支进行测试,然后提交
1 | # com1 |
多人单仓库开发
当存在多人对一个远程仓库进行开发时,通常每个人都负责不同的功能进行开发,对应这不同的分支,在进行提交之前也要pull
最新主分支代码,将自己开发的功能代码合并进去进行测试,然后push
到远程仓库,和单人多机基本相同
1 | git checkout -b fea1 # 创建开发功能分支 |
多人多仓库PR开发
开发过程同单仓库,当需要将自己开发的代码提交到主仓库中时,需要从主仓库拉取最新代码到主分支,然后将开发分支合并到主分支进行测试,通过后便可通过向主仓库提交pr
,经过多方review
等之后便可合并进主仓库。
1 | # fork 到自己远程仓库 |
接受pr
流程,在本地添加发送方仓库,创建一个分支来检测是否正常,然后在网页上接受pr或者本地合并,然后删除本地测试内容
1 | git clone xx-pr xxx # clone 发送方仓库 |
GitFlow开发流程
其中主要分为几种类型的分支
main
分支develop
开发版分支feature
功能开发分支release
发布分支,处理发布工作bugfix
分支hotfix
分支
其大致流程主要如下
- 从
develop
开发分支创建功能分支进行功能开发和实现 - 当
feature
分支的工作结束并测试后,合并到develop
分支当中 - 重复上两步,直到可以发布
- 创建
release
分支处理,处理发布事务,更新文档等
在vscode
中使用Gitflow Actions
可以很方便的完成以上的操作