SlideShare a Scribd company logo
Gitflow
by isatrio
An ordinary Front End Developer who like share knowledge. "I'm
not smarter than you, I'm just know first than you. If you find
something wrong, please tell me and we will fix it together."
Asumption
Repo is abbreviation of Repository
Pull is a command to get latest version of code
Push is a command to post our latest version of code
Branch is our own develop environment based on feature or
whatever we will doing
Commit is a command to tell git that we have done with our
own feature
Merge is a command to merge our work to whatever branch
we want
I use terminal only not using GUI
Collaboration
Developer have Back end, Front end, and whatever job title out
there. Every parts of job needs to organize well.
By manual, we will copy our work files to another team
Also syncronize it or just rewrite the file on local
If we have different code, we need to analyze it first before
rewrite.
Version Control
Version control is the management of changes to documents,
computer programs, large web sites, and other collections of
information.
Some of Version Control software:
SVN (Subversion)
Mercurial
Git
Git
Git is a version control system (VCS) software for tracking changes
in computer files and coordinating work on those files among
multiple people. With git, every person in project have their own
copy files at their local.
Some example of Git Providers are Github, Bitbucket, Gitlab, VSTS
How many workflows git have?
Centralized
Feature Branch
Gitflow
Fork
Centralized
Centralized just have one branch, "Master". Everytime create a
feature, we just create it at master branch.
Example
Jono start his works on his feature
Example
Putri start her works on her feature
Example
Jono publish his feature on master
Example
Putri publish her featuer on master, but she has a problem. Her
feature was conflicts with Jono's feature. Bejo want to be a hero, he
help Putri to fix the conflicts.
Example
Bejo help Putri to pull the latest version of master and rebase local
version for her.
Example
Rebase succeed, Putri can publish her feature on master cause of
Bejo. And then Putri hate Jono forever. Finally Bejo and Putri live
happily ever after.
Managing Conficts
This is a diagram of managing conflicts from Jono and Putri in
example above.
Feature Branch
Feature branch is a more safer and minimum conflicts instead
Centralized. Every person have their own branch to do the feature.
You can see below, Blue one is a master, the purple and green is a
branch.
Example
Putri start works on her feature
Example
Putri finish her feature and publish it on master and create pull
request to tell the team that she has done with her feature.
Example
Jono recieve the pull request from putri and merge on his feature
Gitflow
Gitflow workflow derived from Vincent Driessen at nvie. You can
download gitflow here https://github.com/nvie/gitflow.
Gitflow Branch
master is primary repo for production only
hotfixes is for fix feature that have realeased on master
realease is for realease a finish feature from develop
develop is a secondary repo for development stage, it will be
deploy in staging
feature is a branch to do feature from backlog
Gitflow manually
Since Gitflow have 2 branches we need to create one more called
develop
git checkout ­b develop master 
Explaination, we move to develop branch with command
"checkout". "­b" is an option to create a new branch if the branch
not exist. In a fourth section "develop" is a name of branch we want
to create. The last, "master" is base of branch we want to clone to
our branch.
Gitflow Feature
If we want to works on our feature we need to tell git to create once
more branch. Called "feature/feature­name". and when if we finish,
we merge on develop branch. You can follow command below
// create new branch 
git checkout ­b feature/feature­name develop 
// merge feature done 
git checkout develop 
git merge feature/feature­name 
git branch ­d feature/feature­name 
Gitflow Release
When the feature finish and no bugs on develop stage, then we
release feature to master. you can see below
// create new branch 
git checkout ­b release/release­name develop 
// merge release done 
git checkout master 
git merge release/release­name 
git checkout develop 
git merge release/release­name 
git branch ­d release/release­name 
Gitflow Hotfixes
Hotfixes is very similar with release but it clone from master.
// create new branch 
git checkout ­b hotfix/hotfix­name master 
// merge hotfix done 
git checkout master 
git merge hotfix/hotfix­name 
git checkout develop 
git merge hotfix/hotfix­name 
git branch ­d hotfix/hotfix­name 
Gitflow itself
There are the illustration of gitflow by manual. Fortunately, Gitflow
have a plugin for to make our life easier. I will attach the command
below. If you first clone from repo, you should run init, "­d" is to
make gitflow use default option, if not include "­d" you will prompted
to write what is your default name of gitflow.
git flow init [­d] 
git flow feature 
git flow feature start <name> [<base>] 
git flow feature finish <name> 
git flow release 
git flow release start <release> [<base>] 
git flow release finish <release> 
git flow hotfix 
git flow hotfix start <release> [<base>] 
git flow hotfix finish <release> 
Resources
Change issue tracker bitbucket using Kanban style Bucket
Board
Gitflow https://github.com/nvie/gitflow
Compare workflow
https://www.atlassian.com/git/tutorials/comparing­workflows
Oh Sh*t git shitgit.com

More Related Content

PPTX
Git Basics
PDF
BLUG 2012 Version Control for Notes Developers
PPSX
Git the fast version control system
PPTX
SCM (Source Control Management) - Git Basic
PDF
What is version control software and why do you need it?
PDF
Git Ready! Workflows
PPTX
Git extension-training
PPTX
Version control system and Git
Git Basics
BLUG 2012 Version Control for Notes Developers
Git the fast version control system
SCM (Source Control Management) - Git Basic
What is version control software and why do you need it?
Git Ready! Workflows
Git extension-training
Version control system and Git

What's hot (20)

PPTX
Git Primer
ODP
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
PPTX
Bitbucket git-bamboo-jira
PDF
From SVN to Git
PPTX
Webinar : SVN to GIT Migration
PPTX
Atlassian Bamboo Feature Overview
PPTX
Git in Continuous Deployment
ODP
Evolution of Version Control In Open Source
PPTX
Git presentation
PPTX
Git & Github
PPTX
Git from SVN
PPT
Version Control System
PPTX
Roslyn on GitHub
PDF
Intro to Git & GitHub
PPTX
HacktoberFest-Git&GitHub
PPTX
An introduction to Git and GitFlow
PDF
SBG Infrastructure Tools
PDF
Deployment made easy with Git
PPTX
Version Control Systems -- Git -- Part I
Git Primer
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Bitbucket git-bamboo-jira
From SVN to Git
Webinar : SVN to GIT Migration
Atlassian Bamboo Feature Overview
Git in Continuous Deployment
Evolution of Version Control In Open Source
Git presentation
Git & Github
Git from SVN
Version Control System
Roslyn on GitHub
Intro to Git & GitHub
HacktoberFest-Git&GitHub
An introduction to Git and GitFlow
SBG Infrastructure Tools
Deployment made easy with Git
Version Control Systems -- Git -- Part I
Ad

Similar to Gitflow - DILo Surabaya (20)

PDF
Version Control with Git
PPTX
Git&GitHub.pptx
PPTX
git github PPT_GDSCIIITK.pptx
PDF
Git_tutorial.pdf
PDF
GDSC ZHCET GitHub Session.pdf
PPTX
Git for a newbie
PPTX
Workshop on Source control, git merge walkthroughs
PPTX
Git tutorial
PDF
Formation git
PPTX
Essential Tools for Modern PHP
PDF
DevOps #EMERSONEDUARDORODRIGUES EMERSON EDUARDO RODRIGUES
PPTX
Mastering Git: Version Control for Developers
PPTX
git KT .pptx
PPTX
1-Intro to VC & GIT PDF.pptx
PDF
Intro to git and git hub
PDF
What every C++ programmer should know about modern compilers (w/ comments, AC...
KEY
Getting Git
PPSX
Advanced Web Development in PHP - Code Versioning and Branching with Git
PPTX
Git Basics
PPTX
Git learning
Version Control with Git
Git&GitHub.pptx
git github PPT_GDSCIIITK.pptx
Git_tutorial.pdf
GDSC ZHCET GitHub Session.pdf
Git for a newbie
Workshop on Source control, git merge walkthroughs
Git tutorial
Formation git
Essential Tools for Modern PHP
DevOps #EMERSONEDUARDORODRIGUES EMERSON EDUARDO RODRIGUES
Mastering Git: Version Control for Developers
git KT .pptx
1-Intro to VC & GIT PDF.pptx
Intro to git and git hub
What every C++ programmer should know about modern compilers (w/ comments, AC...
Getting Git
Advanced Web Development in PHP - Code Versioning and Branching with Git
Git Basics
Git learning
Ad

More from DILo Surabaya (7)

PDF
Craate Your Own PHP Package - DILo Surabaya
PDF
ERP an Introduction - DILo Surabaya
PDF
Introduction to Polymer Project - DILo Surabaya
PDF
React Native - DILo Surabaya
PDF
Open API Secification with Swagger - DILo Surabaya
PDF
Having Fun with Kotlin Android - DILo Surabaya
PDF
Concurrent Programming in Golang - DILo Surabaya
Craate Your Own PHP Package - DILo Surabaya
ERP an Introduction - DILo Surabaya
Introduction to Polymer Project - DILo Surabaya
React Native - DILo Surabaya
Open API Secification with Swagger - DILo Surabaya
Having Fun with Kotlin Android - DILo Surabaya
Concurrent Programming in Golang - DILo Surabaya

Recently uploaded (20)

PPTX
Lesson notes of climatology university.
PDF
TR - Agricultural Crops Production NC III.pdf
PDF
Module 4: Burden of Disease Tutorial Slides S2 2025
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
PDF
RMMM.pdf make it easy to upload and study
PDF
Supply Chain Operations Speaking Notes -ICLT Program
PPTX
Renaissance Architecture: A Journey from Faith to Humanism
PPTX
Cell Structure & Organelles in detailed.
PDF
2.FourierTransform-ShortQuestionswithAnswers.pdf
PPTX
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
PPTX
Institutional Correction lecture only . . .
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
PDF
Computing-Curriculum for Schools in Ghana
PPTX
human mycosis Human fungal infections are called human mycosis..pptx
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
FourierSeries-QuestionsWithAnswers(Part-A).pdf
PPTX
Pharma ospi slides which help in ospi learning
Lesson notes of climatology university.
TR - Agricultural Crops Production NC III.pdf
Module 4: Burden of Disease Tutorial Slides S2 2025
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
RMMM.pdf make it easy to upload and study
Supply Chain Operations Speaking Notes -ICLT Program
Renaissance Architecture: A Journey from Faith to Humanism
Cell Structure & Organelles in detailed.
2.FourierTransform-ShortQuestionswithAnswers.pdf
IMMUNITY IMMUNITY refers to protection against infection, and the immune syst...
Institutional Correction lecture only . . .
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
1st Inaugural Professorial Lecture held on 19th February 2020 (Governance and...
Anesthesia in Laparoscopic Surgery in India
Saundersa Comprehensive Review for the NCLEX-RN Examination.pdf
Computing-Curriculum for Schools in Ghana
human mycosis Human fungal infections are called human mycosis..pptx
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
FourierSeries-QuestionsWithAnswers(Part-A).pdf
Pharma ospi slides which help in ospi learning

Gitflow - DILo Surabaya