git学习 git-flow

时间:2024-01-13 14:12:56

初始化

  • git init之后执行git init flow;接下来的命名约定建议使用默认值;

新特性

  • 为即将发布的版本开发新功能特性。
  • 这通常只存在开发者的库中。

增加新特性

  • git flow feature start [name]: 创建一个developfeature/[name]分支;

完成新特性

  • git flow feature finish [name]

    * 合并[name]到develop;

    * 删除该特性分支;

    * 切换回develop分支;

发布新特性

  • git flow feature publish [name]

q取得发布的新特性

  • git flow feature pull [name]

作为release版本

  • 支持一个新的用于生产环境的发布版本。
  • 允许修正小问题,并为发布版本准备元数据

准备release版本

  • git flow release start [name] [BASE] : base为提交的一个哈希值;

    * 从 'develop' 分支开始创建一个 release 分支。

发布release版本

  • git flow release publish [name]

完成 release 版本

  • git flow release finish [name]

    * 归并release分支到master分支;

    * 用release分支名打 Tag;

    * 归并release分支到develop;

    * 移除release分支

紧急修复

  • 生产环境的版本处于一个不预期状态,需要立即修正;
  • 有可能是需要修正 master 分支上某个 TAG 标记的生产版本;

开始 git flow 紧急修复

  • git flow hotfix start VERSION [BASENAME]

    * VERSION 参数标记着修正版本,可以从 [BASENAME]开始;

    * [BASENAME]为finish release时填写的版本号;

完成紧急修复

  • git flow hotfix finish VERSION

    * 当完成紧急修复分支,代码归并回 develop 和 master 分支。相应地,master 分支打上修正版本的 TAG。

git学习 git-flow

git hooks

git tag

  • 打标签: git tag v0.1
  • 搜索标签: git tag -l v1.4.2.*
  • 创建附注标签 git tag -a v0.1.2 -m "..."
  • 切换到标签: git checkout [tagname]
  • 删除标签: git tag -d v0.1.2
  • 标签发布
git push origin v0.1.2 //将v0.1.2标签提交到git服务器
git push origin –-tags //将本地所有标签一次性提交到git服务器