git flow

18
Git Flow Shaokun Wu [email protected]

Upload: shaokun

Post on 15-May-2015

2.831 views

Category:

Documents


0 download

DESCRIPTION

珠三角技术沙龙-8月份

TRANSCRIPT

Page 1: Git flow

Git Flow

Shaokun Wu

[email protected]

Page 2: Git flow

Why Git?

• 随意的分支 (Branch) 与合并 (Merge)

• 分布式的、本地的代码库 (Repository)

• 快捷、轻量• 任意的工作流程• GitHub

• …

Page 3: Git flow

问题呢?• 把 Git 当 SVN 用,在 master 分支开发• 依然避免 Branch/Merge

• 任意的工作流程,让人无从下手• 依旧习惯集中式版本控制的思维• …

Page 4: Git flow

Git Flow- by nvie

一种值得参考的工作流程

Page 5: Git flow
Page 6: Git flow

主分支

master, develop

Page 7: Git flow

master, develop 分支• 用途:

– master HEAD - 正式版– develop HEAD - 最新的开发

版– 当 develop 足够稳定时候,将

合并到 master ,并且 tag 上发布版本号

• 存在周期:– 永远存在

Page 8: Git flow

辅助分支

feature, release, hotfix

Page 9: Git flow

feature 分支• 必须遵循:

– 从 develop 分支– 合并回 develop– 任意命名,除了 master, develop, relea

se-*, hotfix-*

• 用途:– 用于开发新的功能特性 (feature)

• 存在周期:– 合并到 develop 后删除

Page 10: Git flow
Page 11: Git flow

release 分支• 必须遵循:

– 从 develop 分支– 合并回 develop, master– 命名为 release-*

• 用途:– 为最终正式版做准备– 提交 (commit) 小的 bug fix

• 存在周期:– 合并到 develop 后删除

Page 12: Git flow

hotfix 分支• 必须遵循:

– 从 master 分支– 合并回 develop, master– 命名为 hotfix-*

• 用途:– 同样为最终正式版做准备– 提交 (commit) 小的 bug fix– 正式版发生重大的错误,必须立刻修

• 存在周期:– 合并到 develop/release 后删除

Page 13: Git flow

gitflow

Page 14: Git flow

$ git flow init

No branches exist yet. Base branches must be created now.Branch name for production releases: [master] Branch name for "next release" development: [develop] How to name your supporting branch prefixes?Feature branches? [feature/] Release branches? [release/] Hotfix branches? [hotfix/] Support branches? [support/] Version tag prefix? []

Page 15: Git flow

$ git flow feature start login

$ git flow feature finish login

Page 16: Git flow

$ git flow release start v0.1.0

$ git flow release finish v0.1.0

Page 17: Git flow

git-flow-completion

Bash, Zsh

Page 18: Git flow

• A successful Git branching model– http://nvie.com/git-model

• Why aren’t you using git-flow?– http://jeffkreeftmeijer.com/2010/why-arent-you

-using-git-flow/

• http://github.com/nvie/gitflow

• http://github.com/bobthecow/git-flow-completion