fundamental program knowledge

我理解的Git Flow

2015-12-04  本文已影响678人  华枯荣

Git FLow是什么

Git Flow是构建在Git之上的一个组织软件开发活动的模型,也是软件开发过程中一种成功的分支管理策略。它的核心思想是利用成功的分支管理策略,管理软件的开发过程。

2010年5月,nvie 在他的“A successful Git branching model”一文中,介绍了这种模型,并将其命名为Git Flow。而且,他还为这种分支策略开发了一套Git扩展工具,我们可以在Git中,使用专属的分支管理命令操作分支。

因此,Git Flow 是一种软件开发模型,由一种分支管理策略,和一套与之配套的Git扩展工具组成。

下面这张图,形象的展示了Git Flow的全貌:

Git Flow中的分支

根据Git Flow的思想,开发人员需要合理的利用Git的分支功能,来管理软件的开发流程。因此,Git FLow模型定义了五种标准的分支,并且让它们各司其职,分别是:master分支,develop分支,feature分支,hotfix分支和release分支。

这五种分支又可分为两大类:主要分支辅助分支。主要分支,包括master分支和develop分支。辅助分支,包括feature分支,hotfix分支和release分支。

实质上,Git Flow就是要求开发者使用这五种标准的分支管理软件开发流程

主要分支

主要分支只用于与软件测试、部署、发布相关的活动,不会涉及任何的软件开发活动。主要分支会一直存在,是所有其他分支的源头,也是它们最终的归宿。

辅助分支

辅助分支主要用于具体的软件开发工作,包括新功能的开发、Bug修复和发布前的准备工作。辅助分支不是一直存在的,当它们被合并到主要分支后,会被删除掉。

Git FLow的使用方式

参考文献:

  1. 基于git的源代码管理模型——git flow
  2. Git 常用命令和 Git Flow 梳理
  3. Git flow 分支策略
  4. Git Flow在github的主页
撤销更改

git checkout -- file 在加入到暂存区之前,遗弃修改
git reset HEAD file 在提交之前,遗弃暂存区的更改
git reset --hard HEAD^ 回退到上一版本
git reset --hard commit_id 回退到指定的版本

操作文件

git mv file newfile 重命名,文件名不区分大小写
git rm file 删除文件
git remote rename repo new_repo 重命名远程仓库

上一篇下一篇

猜你喜欢

热点阅读