gitflow - clouddictive

22
GIT FLOW Clouddictive https://blog.clouddicti ve.com [email protected]

Upload: clouddictive

Post on 11-Jan-2017

108 views

Category:

Technology


0 download

TRANSCRIPT

Page 2: Gitflow   - Clouddictive

Agenda❖ GIT Overview❖ GIT Flow❖ Master and Develop Branches❖ Feature, Release and Hotfix Branches❖ How it works❖ Other Workflows❖ Install and Demo

Page 3: Gitflow   - Clouddictive

GIT Overview❖ Version Control System - For the code we write!.❖ Distributed - Repo stored locally with history

and on centralized location.❖ Branching and Merging ❖ Fast - Written in C + Local Repo❖ FREE + Open Source

Page 4: Gitflow   - Clouddictive

GIT Overview

Source: http://pigne.org

Page 5: Gitflow   - Clouddictive

GIT Overview - Branching and Merge

Source: https://www.f30.me

Page 6: Gitflow   - Clouddictive

GIT Flow❖ Blog from Vincent Driessen in 2010 (from

Netherlands) ❖ http://nvie.com

❖ First Structured Workflow ❖ Git extension called git-flow - by Jeff Kreeftmeijer❖ http://jeffkreeftmeijer.com/2010/why-arent-y

ou-using-git-flow/(Note: Image source for this presentation is http://nvie.com)

Page 7: Gitflow   - Clouddictive

GIT Flow - Branches❖ Master and Develop

Branches - They are there to stay

❖ Feature, Release and Hotfix - are temporary supporting branches. They support ❖ Parallel development ❖ Tracking features ❖ Bug fixes❖ Quickly fixing live

Production issues

Page 8: Gitflow   - Clouddictive

Master and Develop❖ Master - Reflects a

production ready state.❖ Develop - Reflects a

state with the latest delivered development changes for the next release.

Page 9: Gitflow   - Clouddictive

Feature Branch❖ Are used to develop new

features for the upcoming or a distant future release.

❖ Target release - Unknown❖ May branch off from:

develop ❖ Must merge back into:

develop ❖ Branch naming convention:

anything except master, develop, release-*, or hotfix-*

Page 10: Gitflow   - Clouddictive

Release Branch❖ Support PROD releases - Can consist of 1-

n features❖ Testing and Bug fixing❖ Develop branch is cleared to receive

features for the next big release - Take develop code and start creating more features (branches).

❖ May branch off from:

develop ❖ Must merge back into (Finish Stage):

develop and master ❖ Branch naming convention:

release-*

Page 11: Gitflow   - Clouddictive

Hotfix Branch❖ Like release branches❖ Fix bugs in PROD❖ May branch off from:

master ❖ Must merge back into:

develop and master ❖ Branch naming

convention:

hotfix-*

Page 12: Gitflow   - Clouddictive

How it works - Feature

Page 13: Gitflow   - Clouddictive

How it works - Feature finished

Page 14: Gitflow   - Clouddictive

How it works - Release

Page 15: Gitflow   - Clouddictive

How it works - Release finished

Page 16: Gitflow   - Clouddictive

How it works - Hotfix

Page 17: Gitflow   - Clouddictive

Other Workflows❖ GitHub Flow - one off from master❖ Skullcandy’s flow- feature branch based on

story/deliverables , Merged to QA branch for testing and then PROD

❖ Master Only flow❖ Backcountry flow - Master , Feature and PROD

branches

Page 18: Gitflow   - Clouddictive

Install❖ https://github.com/nvie/gitflow/wiki/Mac-OS-X

curl -L -O https://raw.github.com/nvie/gitflow/develop/contrib/gitflow-installer.sh

sudo bash gitflow-installer.sh

Page 19: Gitflow   - Clouddictive

Demo - Init❖ $ git-flow init

❖ git branch *developmaster

Page 20: Gitflow   - Clouddictive

Demo - Feature❖ git-flow feature start authentication

❖ git add src❖ git commit

❖ git feature finish authentication❖ git branch

Page 21: Gitflow   - Clouddictive

Demo - Release❖ git-flow release start 0.1.0

❖ git branch❖ git add (changes)❖ git commit

❖ git-flow release finish 0.1.0

Page 22: Gitflow   - Clouddictive

Demo - Hotfix❖ git-flow hotfix start asset

❖ git add❖ git commit

❖ git-flow hotfix finish asset