Git flow流程介绍之我的理解(结合实际)
一、背景
本文讲述git flow的使用,除了git flow,还有github flow和gitlab flow,感兴趣的话可以自己查资料。
用到的工具:https://learngitbranching.js.org/?NODEMO=&locale=zh_CN
二、前提交代
有两个分支是长期分支,所谓长期分支,不是用完就删、是长期存在的分支
- master(有些地方叫main)
- develop(可适简化为dev)
辅助分支,或者叫临时分支,用完在特定某个时间会删掉
- feature
- release
- hotfix
除此以外,可能会有一些别的常见的分支,这些分支和git flow用到的分支无关,因为常见所以列一下
- bugfix:不知道具体什么含义,跟hotfix一样的用途吗?
- test:这分支可能是用于测试阶段的,但git flow根本不要这个分支,可用release分支替代
补充说明:
-
develop分支,按正常的流程的话,应该是和master一致的代码状态,即处于相同的commit id或revision(理想状态)
(commit id在有些情况下会被称为revision,两个概念是相同的,注意本文可能会混着概念说)
三、git flow 流程
先假定现在的代码状态如下
注意,这里main分支就是master分支,本文描述为master分支(因为这款在线git应用程序没法将main删除用master替代)。
目前的状态是:
1、mast