SlideShare una empresa de Scribd logo
1 de 14
Git Flow Workflow A powerful way to use GIT
Who am I? John Congdon I have specialized in ecommerce since 2001 Sole developer/IT guy for bowlingball.com Website (ecommerce) Dropshipping Integration Inventory management (picking/shipping) Pro shops retail POS system
What is GIT? A distributed revision control repository A complete copy exists with every clone A smart way to code Works Great for  Single developers Small teams Large teams  (open source teams are distributed worldwide)
I Thought This Talk Was About Git Flow What is Git Flow? A development model created by Vincent Driessen He is known online as nvie(nvie.com) My personal version control story Sole programmer = bad habits Worked on live code Didn’t have versions / fall back points No idea what may have changed (good or bad)
I WAS STILL CONFUSED I had the printout on my desk I tried desperately to follow the flow I always fell back into my old habits of editing live code (It’s just faster)
My Turning Point I wouldn’t be giving this talk without one, would I? Why Aren’t You Using Git Flow? By Jeff Kreeftmeijer http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/
Let’s Get Started Install git& git-flow Using BASH or ZSH? Install git& git-flow autocompletion Start a Project gitinit creates a new git repo git flow init initializes git flow Accept the defaults. There are good reasons to do so. Most open source projects use this format Everyone that works on your code needs to have the same settings Every cloned repo needs to run git flow init
Git flow feature A branch of development when working on new features A feature branch is created off of the develop branch You can have many feature branches at the same time I primarily live in feature branches We use Bugzilla at work as our IT request system My feature branch names: BugXXX-DescriptiveName When finished, branch is merged back into develop Start usage: git flow feature start XYZ Finish usage: git flow feature finish XYZ
Git flow hotfix A branch used to fix production code Branch is created off of master My hotfix branch names follow the same convention When finished, branch is merged back into master and develop I also use these for “mini” features or quick improvements I do this in place of editing live code now   Start usage: git flow hotfix start XYZ Finish usage: git flow hotfix finish XYZ
Git flow feature rebase Used to bring a feature branch up to date with develop I use this on long running feature branches (major/unreleased feature) A good idea before finishing a feature branch.  Easier to solve merge conflicts this way in my opinion. Rewinds current feature, pulls in changes from develop, replays current feature.
Git flow release This is an in between branch Created from develop My release names are v0.9.XX, mostly arbitrary Changes can be made (usually release notes, updating version info, or any other change before ready for production) When finished, branch is merged into both master and develop
PHP Community Resources Twitter is my friend Me @johncongdon David Rogers @al_the_ax Cal Evans @CalEvans Lorna Jane @lornajane Vincent Driessen @nvie Travis Swicegood @tswicegood
References The source http://nvie.com/posts/a-successful-git-branching-model/ Why Aren’t You Using Git Flow? By Jeff Kreeftmeijer http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/ Git Flow https://github.com/nvie/gitflow

Más contenido relacionado

La actualidad más candente

A successful Git branching model
A successful Git branching model A successful Git branching model
A successful Git branching model abodeltae
 
Git branching strategies
Git branching strategiesGit branching strategies
Git branching strategiesjstack
 
A Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyA Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyVivek Parihar
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams Atlassian
 
Introduction to git flow
Introduction to git flowIntroduction to git flow
Introduction to git flowKnoldus Inc.
 
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014Amazon Web Services
 
Git flow for daily use
Git flow for daily useGit flow for daily use
Git flow for daily useMediacurrent
 
A painless self-hosted Git service: Gitea
A painless self-hosted Git service: GiteaA painless self-hosted Git service: Gitea
A painless self-hosted Git service: GiteaBo-Yi Wu
 
AManaging Kong API Gateway with Terraform
AManaging Kong API Gateway with TerraformAManaging Kong API Gateway with Terraform
AManaging Kong API Gateway with TerraformByungjin Park
 
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...Amazon Web Services
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hubVenkat Malladi
 
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...GITS Indonesia
 
Introduction to Version Control
Introduction to Version ControlIntroduction to Version Control
Introduction to Version ControlJeremy Coates
 
深探-IaC-(Infrastructure as Code-基礎設施即程式碼-)-在-AWS-上的應用
深探-IaC-(Infrastructure as Code-基礎設施即程式碼-)-在-AWS-上的應用深探-IaC-(Infrastructure as Code-基礎設施即程式碼-)-在-AWS-上的應用
深探-IaC-(Infrastructure as Code-基礎設施即程式碼-)-在-AWS-上的應用Amazon Web Services
 

La actualidad más candente (20)

A successful Git branching model
A successful Git branching model A successful Git branching model
A successful Git branching model
 
Git branching strategies
Git branching strategiesGit branching strategies
Git branching strategies
 
A Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching StrategyA Git Workflow Model or Branching Strategy
A Git Workflow Model or Branching Strategy
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams
 
Introduction to git flow
Introduction to git flowIntroduction to git flow
Introduction to git flow
 
Git and git flow
Git and git flowGit and git flow
Git and git flow
 
CICD with Jenkins
CICD with JenkinsCICD with Jenkins
CICD with Jenkins
 
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
(SOV204) Scaling Up to Your First 10 Million Users | AWS re:Invent 2014
 
Git flow for daily use
Git flow for daily useGit flow for daily use
Git flow for daily use
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Versioning avec Git
Versioning avec GitVersioning avec Git
Versioning avec Git
 
A painless self-hosted Git service: Gitea
A painless self-hosted Git service: GiteaA painless self-hosted Git service: Gitea
A painless self-hosted Git service: Gitea
 
AManaging Kong API Gateway with Terraform
AManaging Kong API Gateway with TerraformAManaging Kong API Gateway with Terraform
AManaging Kong API Gateway with Terraform
 
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
(BAC404) Deploying High Availability and Disaster Recovery Architectures with...
 
Git commands
Git commandsGit commands
Git commands
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
GITS Class #16: CI/CD (Continuous Integration & Continuous Deployment) with G...
 
Introduction to Version Control
Introduction to Version ControlIntroduction to Version Control
Introduction to Version Control
 
深探-IaC-(Infrastructure as Code-基礎設施即程式碼-)-在-AWS-上的應用
深探-IaC-(Infrastructure as Code-基礎設施即程式碼-)-在-AWS-上的應用深探-IaC-(Infrastructure as Code-基礎設施即程式碼-)-在-AWS-上的應用
深探-IaC-(Infrastructure as Code-基礎設施即程式碼-)-在-AWS-上的應用
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 

Destacado

GitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabGitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabShinu Suresh
 
Git Ready! Workflows
Git Ready! WorkflowsGit Ready! Workflows
Git Ready! WorkflowsAtlassian
 
Git workflows
Git workflowsGit workflows
Git workflowsXpand IT
 
Develop Basic joomla! MVC component for version 3
Develop Basic joomla! MVC component for version 3Develop Basic joomla! MVC component for version 3
Develop Basic joomla! MVC component for version 3Gunjan Patel
 
Introduction to git administration
Introduction to git administrationIntroduction to git administration
Introduction to git administrationShawn Doyle
 
Git Workflow With Gitflow
Git Workflow With GitflowGit Workflow With Gitflow
Git Workflow With GitflowJosh Dvir
 
The development workflow of git github for beginners
The development workflow of git github for beginnersThe development workflow of git github for beginners
The development workflow of git github for beginnersGunjan Patel
 
Branching in PowerPoint
Branching in PowerPointBranching in PowerPoint
Branching in PowerPointKarl Kapp
 
Getting Git Right
Getting Git RightGetting Git Right
Getting Git RightSven Peters
 
Gitlab Training with GIT and SourceTree
Gitlab Training with GIT and SourceTreeGitlab Training with GIT and SourceTree
Gitlab Training with GIT and SourceTreeTeerapat Khunpech
 

Destacado (20)

git flow
git flowgit flow
git flow
 
GitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLabGitFlow, SourceTree and GitLab
GitFlow, SourceTree and GitLab
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
 
Git Ready! Workflows
Git Ready! WorkflowsGit Ready! Workflows
Git Ready! Workflows
 
My Git workflow
My Git workflowMy Git workflow
My Git workflow
 
Git workflows
Git workflowsGit workflows
Git workflows
 
Git workflows
Git workflowsGit workflows
Git workflows
 
Git Branching Model
Git Branching ModelGit Branching Model
Git Branching Model
 
Git flow cheatsheet
Git flow cheatsheetGit flow cheatsheet
Git flow cheatsheet
 
Develop Basic joomla! MVC component for version 3
Develop Basic joomla! MVC component for version 3Develop Basic joomla! MVC component for version 3
Develop Basic joomla! MVC component for version 3
 
Introduction to git administration
Introduction to git administrationIntroduction to git administration
Introduction to git administration
 
Git Workflow With Gitflow
Git Workflow With GitflowGit Workflow With Gitflow
Git Workflow With Gitflow
 
The development workflow of git github for beginners
The development workflow of git github for beginnersThe development workflow of git github for beginners
The development workflow of git github for beginners
 
Pubmi gitflow
Pubmi gitflowPubmi gitflow
Pubmi gitflow
 
Branching in PowerPoint
Branching in PowerPointBranching in PowerPoint
Branching in PowerPoint
 
Feature toggles
Feature togglesFeature toggles
Feature toggles
 
Git Tutorial 教學
Git Tutorial 教學Git Tutorial 教學
Git Tutorial 教學
 
Getting Git Right
Getting Git RightGetting Git Right
Getting Git Right
 
Gitlab Training with GIT and SourceTree
Gitlab Training with GIT and SourceTreeGitlab Training with GIT and SourceTree
Gitlab Training with GIT and SourceTree
 
Git workflows
Git workflowsGit workflows
Git workflows
 

Similar a Why Aren't You Using Git Flow?

Git usage (Basics and workflow)
Git usage (Basics and workflow)Git usage (Basics and workflow)
Git usage (Basics and workflow)Yeasin Abedin
 
BLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersBLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersMartin Jinoch
 
Git essential training & sharing self
Git essential training & sharing selfGit essential training & sharing self
Git essential training & sharing selfChen-Tien Tsai
 
Git the fast version control system
Git the fast version control systemGit the fast version control system
Git the fast version control systemJeroen Rosenberg
 
Embracing Distributed Version Control
Embracing Distributed Version ControlEmbracing Distributed Version Control
Embracing Distributed Version ControlNowell Strite
 
A Git MVP Workflow
A Git MVP WorkflowA Git MVP Workflow
A Git MVP WorkflowBurt Lum
 
Git for work groups ironhack talk
Git for work groups ironhack talkGit for work groups ironhack talk
Git for work groups ironhack talkTiago Ameller
 
Version Control System - Git
Version Control System - GitVersion Control System - Git
Version Control System - GitCarlo Bernaschina
 
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence Parag Gajbhiye
 
CoDe:U git flow
CoDe:U git flowCoDe:U git flow
CoDe:U git flowLars Kruse
 
Git basics a starter on git and its ecosystem
Git basics  a starter on git and its ecosystemGit basics  a starter on git and its ecosystem
Git basics a starter on git and its ecosystemFrançois D'Agostini
 
Git_tutorial.pdf
Git_tutorial.pdfGit_tutorial.pdf
Git_tutorial.pdfAliaaTarek5
 

Similar a Why Aren't You Using Git Flow? (20)

Git usage (Basics and workflow)
Git usage (Basics and workflow)Git usage (Basics and workflow)
Git usage (Basics and workflow)
 
Getting Git
Getting GitGetting Git
Getting Git
 
BLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes DevelopersBLUG 2012 Version Control for Notes Developers
BLUG 2012 Version Control for Notes Developers
 
Git essential training & sharing self
Git essential training & sharing selfGit essential training & sharing self
Git essential training & sharing self
 
Git the fast version control system
Git the fast version control systemGit the fast version control system
Git the fast version control system
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Git & Code review
Git & Code reviewGit & Code review
Git & Code review
 
Gitting better
Gitting betterGitting better
Gitting better
 
Embracing Distributed Version Control
Embracing Distributed Version ControlEmbracing Distributed Version Control
Embracing Distributed Version Control
 
A Git MVP Workflow
A Git MVP WorkflowA Git MVP Workflow
A Git MVP Workflow
 
Git for work groups ironhack talk
Git for work groups ironhack talkGit for work groups ironhack talk
Git for work groups ironhack talk
 
Introduction to Git (part 3)
Introduction to Git (part 3)Introduction to Git (part 3)
Introduction to Git (part 3)
 
Git
GitGit
Git
 
Version Control System - Git
Version Control System - GitVersion Control System - Git
Version Control System - Git
 
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
Introduction to Git(BitBucket) , Continuous Integration (Bamboo) & Confluence
 
CoDe:U git flow
CoDe:U git flowCoDe:U git flow
CoDe:U git flow
 
Mini-training: Let’s Git It!
Mini-training: Let’s Git It!Mini-training: Let’s Git It!
Mini-training: Let’s Git It!
 
Git basics a starter on git and its ecosystem
Git basics  a starter on git and its ecosystemGit basics  a starter on git and its ecosystem
Git basics a starter on git and its ecosystem
 
Git_tutorial.pdf
Git_tutorial.pdfGit_tutorial.pdf
Git_tutorial.pdf
 
Git Tutorial
Git Tutorial Git Tutorial
Git Tutorial
 

Último

A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteDianaGray10
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 

Último (20)

A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Take control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test SuiteTake control of your SAP testing with UiPath Test Suite
Take control of your SAP testing with UiPath Test Suite
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 

Why Aren't You Using Git Flow?

  • 1. Git Flow Workflow A powerful way to use GIT
  • 2. Who am I? John Congdon I have specialized in ecommerce since 2001 Sole developer/IT guy for bowlingball.com Website (ecommerce) Dropshipping Integration Inventory management (picking/shipping) Pro shops retail POS system
  • 3. What is GIT? A distributed revision control repository A complete copy exists with every clone A smart way to code Works Great for Single developers Small teams Large teams (open source teams are distributed worldwide)
  • 4. I Thought This Talk Was About Git Flow What is Git Flow? A development model created by Vincent Driessen He is known online as nvie(nvie.com) My personal version control story Sole programmer = bad habits Worked on live code Didn’t have versions / fall back points No idea what may have changed (good or bad)
  • 5.
  • 6. I WAS STILL CONFUSED I had the printout on my desk I tried desperately to follow the flow I always fell back into my old habits of editing live code (It’s just faster)
  • 7. My Turning Point I wouldn’t be giving this talk without one, would I? Why Aren’t You Using Git Flow? By Jeff Kreeftmeijer http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/
  • 8. Let’s Get Started Install git& git-flow Using BASH or ZSH? Install git& git-flow autocompletion Start a Project gitinit creates a new git repo git flow init initializes git flow Accept the defaults. There are good reasons to do so. Most open source projects use this format Everyone that works on your code needs to have the same settings Every cloned repo needs to run git flow init
  • 9. Git flow feature A branch of development when working on new features A feature branch is created off of the develop branch You can have many feature branches at the same time I primarily live in feature branches We use Bugzilla at work as our IT request system My feature branch names: BugXXX-DescriptiveName When finished, branch is merged back into develop Start usage: git flow feature start XYZ Finish usage: git flow feature finish XYZ
  • 10. Git flow hotfix A branch used to fix production code Branch is created off of master My hotfix branch names follow the same convention When finished, branch is merged back into master and develop I also use these for “mini” features or quick improvements I do this in place of editing live code now  Start usage: git flow hotfix start XYZ Finish usage: git flow hotfix finish XYZ
  • 11. Git flow feature rebase Used to bring a feature branch up to date with develop I use this on long running feature branches (major/unreleased feature) A good idea before finishing a feature branch. Easier to solve merge conflicts this way in my opinion. Rewinds current feature, pulls in changes from develop, replays current feature.
  • 12. Git flow release This is an in between branch Created from develop My release names are v0.9.XX, mostly arbitrary Changes can be made (usually release notes, updating version info, or any other change before ready for production) When finished, branch is merged into both master and develop
  • 13. PHP Community Resources Twitter is my friend Me @johncongdon David Rogers @al_the_ax Cal Evans @CalEvans Lorna Jane @lornajane Vincent Driessen @nvie Travis Swicegood @tswicegood
  • 14. References The source http://nvie.com/posts/a-successful-git-branching-model/ Why Aren’t You Using Git Flow? By Jeff Kreeftmeijer http://jeffkreeftmeijer.com/2010/why-arent-you-using-git-flow/ Git Flow https://github.com/nvie/gitflow

Notas del editor

  1. Talk about what you learned from the article. It made sense out of the image.
  2. Create the branch in our example. We will add the feature to return a json result
  3. Create the branch in our example. We will create a hotfix to normalize the input
  4. Before finishing our feature branch, let’s rebase to bring the hotfix into the code