git flow和约定式提交

80 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第2天,点击查看活动详情

git flow是一种版本发布方案,通过将git操作组合起来完成版本发布。

安装

mac

brew install git-flow-avh

linux

apt-get install git-flow

windows

wget -q -O - --no-check-certificate <https://raw.github.com/petervanderdoes/gitflow-avh/develop/contrib/gitflow-installer.sh> install stable | bash

使用

图片.png

  • git flow init:初始化现有的git仓库
  • git flow feature start FEATURE:创建基于develop的特性分支,并切换到该特性分支上
  • git flow feature finish FEATURE:合并 FEATURE分支到develop分支,删除FEATURE分支,切换到develop分支
  • git flow feature publish FEATURE:发布分支到远程服务器,其他用户也可以使用该分支
  • git flow feature pull origin FEATURE:取得其他用户发布的新特性分支
  • git flow release start RELEASE :从 develop分支开始创建一个release 分支。
  • git flow release finish RELEASE:合并release分支到master分支,用release分支名打TAG,合并release分支到develop,移除release分支。

分支作用

  • master 包含产品代码。不能直接工作在 master 分支上,而是在其他指定的,独立的特性分支中。不直接提交改动到 master 分支上也是很多工作流程的一个共同的规则。
  • develop 是进行任何新的开发的基础分支。当开始一个新的功能分支时,它将是开发的基础分支。另外,该分支也汇集所有已经完成的功能,并等待被整合到 master 分支中。

这两个分支是长期分支,存活在项目的整个生命周期中,其他分支例如新特性分支或者发布分支仅仅是临时存在的,完成任务后会被删除。

配合约定式提交

约定式提交是一种用于给提交信息增加人机可读含义的规范

提交说明的结构如下所示:


<类型>[可选的作用域]: <描述>

[可选的正文]

[可选的脚注]

提交说明包含了下面的元素

  • fix: 类型 为 fix 的提交表示在代码库中修复了一个 bug
  • feat: 类型 为 feat 的提交表示在代码库中新增了一个功能
  • BREAKING CHANGE: 在可选的正文或脚注的起始位置带有 BREAKING CHANGE: 的提交,表示引入了破坏性 API 变更