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

Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notesglen_a_smith
 
GitLab for CI/CD process
GitLab for CI/CD processGitLab for CI/CD process
GitLab for CI/CD processHYS Enterprise
 
Git branching strategies
Git branching strategiesGit branching strategies
Git branching strategiesjstack
 
What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020Noa Harel
 
The journey to GitOps
The journey to GitOpsThe journey to GitOps
The journey to GitOpsNicola Baldi
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Noa Harel
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams Atlassian
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsGlobalLogic Ukraine
 
Git basics to advance with diagrams
Git basics to advance with diagramsGit basics to advance with diagrams
Git basics to advance with diagramsDilum Navanjana
 
Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Noa Harel
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsLee Hanxue
 

La actualidad más candente (20)

Git One Day Training Notes
Git One Day Training NotesGit One Day Training Notes
Git One Day Training Notes
 
Git
GitGit
Git
 
GitLab for CI/CD process
GitLab for CI/CD processGitLab for CI/CD process
GitLab for CI/CD process
 
Git and github 101
Git and github 101Git and github 101
Git and github 101
 
Git training v10
Git training v10Git training v10
Git training v10
 
Git workflows
Git workflowsGit workflows
Git workflows
 
Git flow
Git flowGit flow
Git flow
 
Git branching strategies
Git branching strategiesGit branching strategies
Git branching strategies
 
What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020What's New for GitLab CI/CD February 2020
What's New for GitLab CI/CD February 2020
 
Gitlab, GitOps & ArgoCD
Gitlab, GitOps & ArgoCDGitlab, GitOps & ArgoCD
Gitlab, GitOps & ArgoCD
 
The journey to GitOps
The journey to GitOpsThe journey to GitOps
The journey to GitOps
 
Git vs svn
Git vs svnGit vs svn
Git vs svn
 
Git advanced
Git advancedGit advanced
Git advanced
 
Introducing GitLab (September 2018)
Introducing GitLab (September 2018)Introducing GitLab (September 2018)
Introducing GitLab (September 2018)
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams
 
Modern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOpsModern CI/CD Pipeline Using Azure DevOps
Modern CI/CD Pipeline Using Azure DevOps
 
Git basics to advance with diagrams
Git basics to advance with diagramsGit basics to advance with diagrams
Git basics to advance with diagrams
 
Subversion to Git Migration
Subversion to Git MigrationSubversion to Git Migration
Subversion to Git Migration
 
Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)
 
Github - Git Training Slides: Foundations
Github - Git Training Slides: FoundationsGithub - Git Training Slides: Foundations
Github - Git Training Slides: Foundations
 

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
 
Heavy Metal PowerPivot Remastered
Heavy Metal PowerPivot RemasteredHeavy Metal PowerPivot Remastered
Heavy Metal PowerPivot RemasteredJason Himmelstein
 

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
 
Heavy Metal PowerPivot Remastered
Heavy Metal PowerPivot RemasteredHeavy Metal PowerPivot Remastered
Heavy Metal PowerPivot Remastered
 

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)
 
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
 
Web-development-git
Web-development-gitWeb-development-git
Web-development-git
 

Último

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 

Último (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 

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