SlideShare a Scribd company logo
1 of 39
Download to read offline
AE Git Training 
or, "Octopus merge will save your soul"
Agenda 
Why Git 
What Git is 
Differences from 
Subversion 
Workflow Training
We have a problem.
Code quality isn't great.
And releases are really 
hard.
And we can't do Kanban 
effectively.
And too much code goes 
without review.
...
well, we have several 
problems.
Would a new workflow 
solve these problems?
We've built a new 
workflow on Git.
We'll go over it all in a 
sec, but...
We get a lot of benefits! 
Seamless releases (and rollbacks!) 
Safe, predictable, reliable feature flow 
More efficient QA 
Freedom to experiment 
Better tools
Git Concepts
Git is source control. 
Manage history and changes of source tree, 
just like Subversion 
Open source 
Widely used 
Bewilderingly powerful and flexible
Git is about branches. 
Everything is a branch 
Merge one, two or many branches at once 
Any branch can be authoritative 
Take only the parts of a branch you want
Git makes you 
independent. 
A Git server is a role, not a position 
Every Git user can be a server 
Everybody has the complete history 
Do whatever you want without affecting 
others 
Fault-tolerant: if one client fails, the rest are 
unaffected
Git/SVN differences
Git changes - Commits 
All Git commits are local only 
Saving your work (commit) and sending it to 
the server (pushing) are different 
operations 
svn commit == git commit && git push
Git changes - Branches 
Branches are like commits -- local only 
unless/until pushed to a server 
Branches are not commits 
Once merged, a branch can (and usually 
should) be deleted 
Branches are dirt cheap -- always use them
Git awesome: Stash 
Not Stash the server, though that also rules 
Stash is a clipboard with history for your 
changes 
Save your uncommitted changes, then switch 
branches or revert to fresh 
Once you use it, you'll wonder how you ever 
lived without it
AE Workflow
Historical Branches
Two permanent branches: master, develop 
master is always releaseable and commits 
to it are always tagged 
develop is the integration point for new 
features and the base for CI
Owned by QA and team leads 
Only they can merge to these branches 
Preserve the history of the project 
Deployer operates from master
Feature branches
Feature branches implement new work 
Always branched from develop 
Made by developers
Some feature branches are abandoned 
Others will merge into develop 
Merges happen through pull requests and 
are contingent on passing code review / QA, 
and then are deleted
Release branches
Created from develop by QA or team lead 
Integrate QA'd and reviewed code into 
release 
Plus any last-minute fixes or documentation
After merge to master, tagged with version 
for rollback 
Also merged into develop so fixes are not 
lost, then deleted
Hotfix branches
For emergency fixes in production 
Branched from master 
Merged back into master, but also into 
develop so fixes aren't lost
Must pass code review and QA, so also 
merged with pull requests 
Perfect for Kanban fixes as well
Last words 
Detailed instructions, including how to use 
Stash and SourceTree, are on the wiki 
It's a big change; ask questions and read 
the docs! 
Ask me, Kevin or Andrew for help if you get 
stuck
That's it! 
Git is awesome 
Git will make you 
awesomer 
New workflow makes 
for better code 
All is happiness
Pose puny questions.

More Related Content

What's hot

Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucket
Sumin Byeon
 
Migrating to git
Migrating to gitMigrating to git
Migrating to git
Xpand IT
 

What's hot (20)

Teaching a Designer to Use GitHub
Teaching a Designer to Use GitHubTeaching a Designer to Use GitHub
Teaching a Designer to Use GitHub
 
Introduction to GitHub
Introduction to GitHubIntroduction to GitHub
Introduction to GitHub
 
Git n git hub
Git n git hubGit n git hub
Git n git hub
 
Git branching strategies
Git branching strategiesGit branching strategies
Git branching strategies
 
Bitbucket
BitbucketBitbucket
Bitbucket
 
Intro to Git & GitHub
Intro to Git & GitHubIntro to Git & GitHub
Intro to Git & GitHub
 
Getting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS UsersGetting Started with Git: A Primer for SVN and TFS Users
Getting Started with Git: A Primer for SVN and TFS Users
 
Workshop on Git and GitHub
Workshop on Git and GitHubWorkshop on Git and GitHub
Workshop on Git and GitHub
 
GitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorialGitLab 8.5 Highlights and Step-by-step tutorial
GitLab 8.5 Highlights and Step-by-step tutorial
 
Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucket
 
Migrating to git
Migrating to gitMigrating to git
Migrating to git
 
Git and Github Session
Git and Github SessionGit and Github Session
Git and Github Session
 
Branch to branch by Photis Patriotis
Branch to branch by Photis PatriotisBranch to branch by Photis Patriotis
Branch to branch by Photis Patriotis
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab Introduction
 
Git basics
Git basicsGit basics
Git basics
 
CI/CD with Bitbucket pipelines
CI/CD with Bitbucket pipelinesCI/CD with Bitbucket pipelines
CI/CD with Bitbucket pipelines
 
Github
GithubGithub
Github
 
Gitlab CI/CD
Gitlab CI/CDGitlab CI/CD
Gitlab CI/CD
 
HacktoberFest-Git&GitHub
HacktoberFest-Git&GitHubHacktoberFest-Git&GitHub
HacktoberFest-Git&GitHub
 
Slide: Introducing GitLab by ALMtoolbox
Slide: Introducing GitLab by ALMtoolboxSlide: Introducing GitLab by ALMtoolbox
Slide: Introducing GitLab by ALMtoolbox
 

Similar to Intro to Gitflow

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
François D'Agostini
 
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Simplilearn
 
True Git: The Great Migration
True Git: The Great MigrationTrue Git: The Great Migration
True Git: The Great Migration
colleenfry
 

Similar to Intro to Gitflow (20)

Git usage (Basics and workflow)
Git usage (Basics and workflow)Git usage (Basics and workflow)
Git usage (Basics and workflow)
 
Git essential training & sharing self
Git essential training & sharing selfGit essential training & sharing self
Git essential training & sharing self
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams
 
Git
GitGit
Git
 
Git
GitGit
Git
 
Webinar : SVN to GIT Migration
Webinar : SVN to GIT Migration Webinar : SVN to GIT Migration
Webinar : SVN to GIT Migration
 
Git & Code review
Git & Code reviewGit & Code review
Git & Code review
 
Git Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-FlowGit Series. Episode 3. Git Flow and Github-Flow
Git Series. Episode 3. Git Flow and Github-Flow
 
CS_Note_Introduction to Git Workflow.pdf
CS_Note_Introduction to Git Workflow.pdfCS_Note_Introduction to Git Workflow.pdf
CS_Note_Introduction to Git Workflow.pdf
 
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 For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
Git Tutorial For Beginners | What is Git and GitHub? | DevOps Tools | DevOps ...
 
Introducing Git and git flow
Introducing Git and git flow Introducing Git and git flow
Introducing Git and git flow
 
Introduction to Git
Introduction to GitIntroduction to Git
Introduction to Git
 
Git basics
Git basicsGit basics
Git basics
 
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
Git Tutorial | Git Basics - Branching, Merging, Rebasing | Learn Git | DevOps...
 
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 workshop
Git workshopGit workshop
Git workshop
 
True Git: The Great Migration
True Git: The Great MigrationTrue Git: The Great Migration
True Git: The Great Migration
 
Git & GitLab
Git & GitLabGit & GitLab
Git & GitLab
 
An introduction to Git and GitFlow
An introduction to Git and GitFlowAn introduction to Git and GitFlow
An introduction to Git and GitFlow
 

Recently uploaded

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
masabamasaba
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
masabamasaba
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 

Recently uploaded (20)

%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
Direct Style Effect Systems -The Print[A] Example- A Comprehension AidDirect Style Effect Systems -The Print[A] Example- A Comprehension Aid
Direct Style Effect Systems - The Print[A] Example - A Comprehension Aid
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
%+27788225528 love spells in Colorado Springs Psychic Readings, Attraction sp...
 
Architecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the pastArchitecture decision records - How not to get lost in the past
Architecture decision records - How not to get lost in the past
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park %in ivory park+277-882-255-28 abortion pills for sale in ivory park
%in ivory park+277-882-255-28 abortion pills for sale in ivory park
 
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With SimplicityWSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
WSO2Con2024 - Enabling Transactional System's Exponential Growth With Simplicity
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
Shapes for Sharing between Graph Data Spaces - and Epistemic Querying of RDF-...
 

Intro to Gitflow

  • 1. AE Git Training or, "Octopus merge will save your soul"
  • 2. Agenda Why Git What Git is Differences from Subversion Workflow Training
  • 3. We have a problem.
  • 5. And releases are really hard.
  • 6. And we can't do Kanban effectively.
  • 7. And too much code goes without review.
  • 8. ...
  • 9. well, we have several problems.
  • 10. Would a new workflow solve these problems?
  • 11.
  • 12. We've built a new workflow on Git.
  • 13. We'll go over it all in a sec, but...
  • 14. We get a lot of benefits! Seamless releases (and rollbacks!) Safe, predictable, reliable feature flow More efficient QA Freedom to experiment Better tools
  • 16. Git is source control. Manage history and changes of source tree, just like Subversion Open source Widely used Bewilderingly powerful and flexible
  • 17. Git is about branches. Everything is a branch Merge one, two or many branches at once Any branch can be authoritative Take only the parts of a branch you want
  • 18. Git makes you independent. A Git server is a role, not a position Every Git user can be a server Everybody has the complete history Do whatever you want without affecting others Fault-tolerant: if one client fails, the rest are unaffected
  • 20. Git changes - Commits All Git commits are local only Saving your work (commit) and sending it to the server (pushing) are different operations svn commit == git commit && git push
  • 21. Git changes - Branches Branches are like commits -- local only unless/until pushed to a server Branches are not commits Once merged, a branch can (and usually should) be deleted Branches are dirt cheap -- always use them
  • 22. Git awesome: Stash Not Stash the server, though that also rules Stash is a clipboard with history for your changes Save your uncommitted changes, then switch branches or revert to fresh Once you use it, you'll wonder how you ever lived without it
  • 24.
  • 26. Two permanent branches: master, develop master is always releaseable and commits to it are always tagged develop is the integration point for new features and the base for CI
  • 27. Owned by QA and team leads Only they can merge to these branches Preserve the history of the project Deployer operates from master
  • 29. Feature branches implement new work Always branched from develop Made by developers
  • 30. Some feature branches are abandoned Others will merge into develop Merges happen through pull requests and are contingent on passing code review / QA, and then are deleted
  • 32. Created from develop by QA or team lead Integrate QA'd and reviewed code into release Plus any last-minute fixes or documentation
  • 33. After merge to master, tagged with version for rollback Also merged into develop so fixes are not lost, then deleted
  • 35. For emergency fixes in production Branched from master Merged back into master, but also into develop so fixes aren't lost
  • 36. Must pass code review and QA, so also merged with pull requests Perfect for Kanban fixes as well
  • 37. Last words Detailed instructions, including how to use Stash and SourceTree, are on the wiki It's a big change; ask questions and read the docs! Ask me, Kevin or Andrew for help if you get stuck
  • 38. That's it! Git is awesome Git will make you awesomer New workflow makes for better code All is happiness