集中式工作流

类似svn, 所有人都工作在同一个仓库的master 分支上.

1
2
3
4
5
#常用命令:
git add
git commit
git pull
git push

功能分支工作流

对于每一个功能, 新建一个分支, 然后功能开发完毕, 提交到master分支上。

1
git branch

gitflow工作流

明确定义了各种不同类型的分支。
master 分支: 主分支,保持随时可发布打包的状态
develop分支:开发分支, 新特性的开发, 需要基于develop分支创建新的分支, 开发完成后合并回develop分支
release分支:发布分支,当下一版本的所有功能都开发完毕之后, 从develop分支新建release分支, 然后develop分支就可以接受下一版本的内容了。
release 分支添加版本信息, 更详细的发布测试等。发布之后,所有内容合并回develop分支和master分支。
hotfix 分支:当线上代码出现问题时, 直接从master上新建分支, 用于修改bug。问题解决之后, 代码同步到master分支和develop分支。
feature 分支: 特性分支, 每开发一个新的特性时, 从develop分支创建分支, 开发完成之后合并回develop分支。

1
git merge

forking 工作流

每个开发人员从中心仓库fork一份代码到自己的仓库。开发的时候提交到自己的仓库, 开发完成之后, 通过pullrequest 通知主仓库维护人员审核合并。
当主仓库有变动时, 需要fetch 更新到自己的仓库。

1
2
git remote add upstream git@xxx/xxx.git
git fetch upstream

pullrequest

开发人员提交功能时, 发起pullrequest, 审核者审核并讨论代码, 如果有需要, 可以将开发者的代码checkout下来, 在本地修改并评论, 当开发者根据建议将代码修改完成, 通过审核时, 将代码合并会主仓库。


https://leafflow.top/2023/02/07/other/git work flow/
作者
vollen
发布于
2023年2月7日
许可协议