SlideShare a Scribd company logo
1 of 53
Download to read offline
GIT WORKFLOW
STEP BY STEP
Presenter: BinhQD
Twitter: @binhqd
Github: binhqd
LinkedIn: /in/binhqd
ROLES
1. Developer
2. Team Lead
3. Tester
4. QM
GIT Steps
Step Developer Team Lead Tester QM
I.1 Create issues
- Create “develop” branch
- Create/Assign issues
STEPS: STEP 1 - Creat develop branch
NOTE
❖ develop must be branched from master
❖ Developers are not allowed to push their commit directly to
this branch
❖ Issue’s title must be meaningful and need to be applied with
label(s): Urgent, Block, Bug, Support, Enhancement, etc
GIT Steps
Step Developer Team Lead Tester QM
I.1 Create issues
- Create “develop” branch
- Create/Assign issues
I.2 Create branches from dev
STEPS: STEP 2 - Create feature branch from develop
NOTE
❖ feature branches must be created from develop
❖ develop must be up-to-date before creating new branch
GIT Steps
Step Developer Team Lead Tester QM
I.1 Create issues
- Create “develop” branch
- Create/Assign issues
I.2 Create branches from dev
I.3 Add commits
STEPS: STEP 3 - Add commits
NOTE
❖ Ignore files/dirs that unrelated to project or contain
development information
❖ Each commit must be clean
❖ Don’t include works of other commit
❖ Add issue references
❖ Each commit message should follow “Commit Message
Convention”
GIT Steps
Step Developer Team Lead Tester QM
I.1 Create issues
- Create “develop” branch
- Create/Assign issues
I.2 Create branches from dev
I.3 Add commits
I.4 Create Pull Requests (PR)
STEPS: STEP 4 - Create Pull Request
NOTE
❖ Developers must test their code by themselves before
creating a Pull Request
❖ Developers must review their code line by line, file by file
before create a PR
❖ Add issue references
GIT Steps
Step Developer Team Lead Tester QM
I.1 Create issues
- Create “develop” branch
- Create/Assign issues
I.2 Create branches from dev
I.3 Add commits
I.4 Create Pull Requests (PR)
I.5
- Review PRs
- Merge PRs
Do testing per PR. Review by random pick
STEPS: STEP 5 - Review & Merge PR
STEPS: STEP 5 - Review & Merge more PRs
NOTE
❖ Team lead must review developer’s code carefully before
doing a Merge
➢ Convention/Standard
➢ Typo
➢ Detect hidden issues, risk
➢ Running CI
➢ Merge locally and running demo
❖ Reject:
➢ Add reject comment
❖ Approve & Merge
GIT Steps
Step Developer Team Lead Tester QM
I.1 Create issues
- Create “develop” branch
- Create/Assign issues
I.2 Create branches from dev
I.3 Add commits
I.4 Create Pull Requests (PR)
I.5
- Review PRs
- Merge PRs
Do testing per PR. Review by random pick
I.6
- Create/Merge branch for releases
(release)
- Running CI
- Create new branches for fixing bugs
(bugfix) from release
- Update bug fixes back to develop
Regressive Test per
release on Staging
site (UAT)
Review regressive test
result.
Approve/Deny
STEPS: STEP 6 - Create release branch
STEPS: STEP 6 - Fix bugs for release branch
GIT Steps
Step Developer Team Lead Tester QM
I.1 Create issues
- Create “develop” branch
- Create/Assign issues
I.2 Create branches from dev
I.3 Add commits
I.4 Create Pull Requests (PR)
I.5
- Review PRs
- Merge PRs
Do testing per PR. Review by random pick
I.6
- Create/Merge branch for releases
(release)
- Running CI
- Create new branches for fixing bugs
(bugfix) from release
- Update bug fixes back to develop
Regressive Test per
release on Staging
site (UAT)
Review regressive test
result.
Approve/Deny
I.7
Req: Approval from QM
- Create PR from release branch to master
- Running CI
- Test Restore script
Review CI output
Approve/Deny
STEPS: STEP 7 - Create PR from release to master
GIT Steps
Step Developer Team Lead Tester QM
I.1 Create issues
- Create “develop” branch
- Create/Assign issues
I.2 Create branches from dev
I.3 Add commits
I.4 Create Pull Requests (PR)
I.5
- Review PRs
- Merge PRs
Do testing per PR. Review by random pick
I.6
- Create/Merge branch for releases
(release)
- Running CI
- Create new branches for fixing bugs
(bugfix) from release
- Update bug fixes back to develop
Regressive Test per
release on Staging
site (UAT)
Review regressive test
result.
Approve/Deny
I.7
Req: Approval from QM
- Create PR from release branch to master
- Running CI
- Test Restore script
Review CI output
Approve/Deny
I.8
Req: Approval from QM
- Merge PR from Release to master
- Running CI:
+ Auto Deployment
+ Auto Tag for each Release
Regressive Test per
merged PR (UAT)
Review regressive test
output
STEPS: STEP 8 - Review & Merge PR to master
GIT Steps
Step Developer Team Lead Tester QM
If errors occurs on LIVE (severity: medium/low)
II.1 Create hotfix branch
STEPS: Create bugfix for master
GIT Steps
Step Developer Team Lead Tester QM
If errors occurs on LIVE (severity: medium/low)
II.1 Create hotfix branch
II.2 Add commits Add commits
STEPS: Fix bug for hotfix branch
GIT Steps
Step Developer Team Lead Tester QM
If errors occurs on LIVE (severity: medium/low)
II.1 Create hotfix branch
II.2 Add commits Add commits
II.3 Create PR
STEPS: Create PR for hotfix
GIT Steps
Step Developer Team Lead Tester QM
If errors occurs on LIVE (severity: medium/low)
II.1 Create hotfix branch
II.2 Add commits Add commits
II.3 Create PR
II.4
- Review PRs
- Merge PRs from developers to
hotfix
Do testing per PR
STEPS: Review & Merge PR for hotfix
STEPS: Continue fixing bugs for hotfix
GIT Steps
Step Developer Team Lead Tester QM
If errors occurs on LIVE (severity: medium/low)
II.1 Create hotfix branch
II.2 Add commits Add commits
II.3 Create PR
II.4
- Review PRs
- Merge PRs from developers to
hotfix
Do testing per PR
II.5
- Create PR from hotfix branch to
Master
- Running CI
- Test Restore script
Review CI output
Approve/Deny
STEPS: Create PR to update master
GIT Steps
Step Developer Team Lead Tester QM
If errors occurs on LIVE (severity: medium/low)
II.1 Create hotfix branch
II.2 Add commits Add commits
II.3 Create PR
II.4
- Review PRs
- Merge PRs from developers to
hotfix
Do testing per PR
II.5
- Create PR from hotfix branch to
Master
- Running CI
- Test Restore script
Review CI output
Approve/Deny
II.6
Req: Approval from QM
- Merge PR from hotfix to master
- Running CI:
+ Auto Deployment
+ Auto Tag for each Release
Regressive Test per
merged PR (UAT)
Review regressive test
output
STEPS: Review & Merge master from bugfix
GIT Steps
Step Developer Team Lead Tester QM
If errors occurs on LIVE caused critical issues (Blocking issues)
III.1
Restore LIVE to previous TAG using
script
Regressive test after
restore
Review changes
STEPS: Revert to previous version
GIT Steps
Step Developer Team Lead Tester QM
If errors occurs on LIVE caused critical issues (Blocking issues)
III.1
Restore LIVE to previous TAG using
script
Regressive test after
restore
Review changes
III.2
Create branch for fixing bugs
(bugfix) from previous Release Point
(release branch)
GIT Steps
Step Developer Team Lead Tester QM
If errors occurs on LIVE caused critical issues (Blocking issues)
III.1
Restore LIVE to previous TAG using
script
Regressive test after
restore
Review changes
III.2
Create branch for fixing bugs
(bugfix) from previous Release Point
(release branch)
III.3 Add commits Add commits
STEPS: Fixing bugs for release branch
GIT Steps
Step Developer Team Lead Tester QM
If errors occurs on LIVE caused critical issues (Blocking issues)
III.1
Restore LIVE to previous TAG using
script
Regressive test after
restore
Review changes
III.2
Create branch for fixing bugs
(bugfix) from previous Release Point
(release branch)
III.3 Add commits Add commits
III.4 Create PR - Update bugfix back to develop
STEPS: Create PR for release branch from bugfixes
GIT Steps
Step Developer Team Lead Tester QM
If errors occurs on LIVE caused critical issues (Blocking issues)
III.1
Restore LIVE to previous TAG using
script
Regressive test after
restore
Review changes
III.2
Create branch for fixing bugs
(bugfix) from previous Release Point
(release branch)
III.3 Add commits Add commits
III.4 Create PR
III.5
- Review PRs
- Merge PRs from bugfix to release
Do testing per PR. Review by random pick
STEPS: Review & Merge bug fixes for release
GIT Steps
Step Developer Team Lead Tester QM
If errors occurs on LIVE caused critical issues (Blocking issues)
III.1
Restore LIVE to previous TAG using
script
Regressive test after
restore
Review changes
III.2
Create branch for fixing bugs
(bugfix) from previous Release Point
(release branch)
III.3 Add commits Add commits
III.4 Create PR
III.5
- Review PRs
- Merge PRs from bugfix to release
Do testing per PR. Review by random pick
Back to I.7
STEPS: Create PR from release to master
Back to step I.7 for to complete the workflow
Thanks

More Related Content

What's hot

Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing IntroductionHai Tran Son
 
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
 
Gitlab flow solo
Gitlab flow soloGitlab flow solo
Gitlab flow soloviniciusban
 
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 flow for daily use
Git flow for daily useGit flow for daily use
Git flow for daily useMediacurrent
 
Software Testing Process
Software Testing ProcessSoftware Testing Process
Software Testing Processguest1f2740
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projectssriks7
 
Introduction to Version Control
Introduction to Version ControlIntroduction to Version Control
Introduction to Version ControlJeremy Coates
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab IntroductionKrunal Doshi
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101QA Hannah
 
Python Automation With Gauge + Selenium + API + Jenkins
Python Automation With Gauge + Selenium + API + JenkinsPython Automation With Gauge + Selenium + API + Jenkins
Python Automation With Gauge + Selenium + API + JenkinsFagun Priyadarshi
 
Continuous Integration With Jenkins
Continuous Integration With JenkinsContinuous Integration With Jenkins
Continuous Integration With JenkinsEdureka!
 
Functional Tests Automation with Robot Framework
Functional Tests Automation with Robot FrameworkFunctional Tests Automation with Robot Framework
Functional Tests Automation with Robot Frameworklaurent bristiel
 
Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Noa Harel
 

What's hot (20)

Agile Testing Introduction
Agile Testing IntroductionAgile Testing Introduction
Agile Testing Introduction
 
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 flow solo
Gitlab flow soloGitlab flow solo
Gitlab flow solo
 
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 flow for daily use
Git flow for daily useGit flow for daily use
Git flow for daily use
 
Software Testing Process
Software Testing ProcessSoftware Testing Process
Software Testing Process
 
Github PowerPoint Final
Github PowerPoint FinalGithub PowerPoint Final
Github PowerPoint Final
 
Git Branching Model
Git Branching ModelGit Branching Model
Git Branching Model
 
Jenkins CI
Jenkins CIJenkins CI
Jenkins CI
 
Testing in Agile Projects
Testing in Agile ProjectsTesting in Agile Projects
Testing in Agile Projects
 
Introduction to Version Control
Introduction to Version ControlIntroduction to Version Control
Introduction to Version Control
 
Git
GitGit
Git
 
Git Lab Introduction
Git Lab IntroductionGit Lab Introduction
Git Lab Introduction
 
Software Testing 101
Software Testing 101Software Testing 101
Software Testing 101
 
Python Automation With Gauge + Selenium + API + Jenkins
Python Automation With Gauge + Selenium + API + JenkinsPython Automation With Gauge + Selenium + API + Jenkins
Python Automation With Gauge + Selenium + API + Jenkins
 
git and github
git and githubgit and github
git and github
 
Continuous Integration With Jenkins
Continuous Integration With JenkinsContinuous Integration With Jenkins
Continuous Integration With Jenkins
 
Functional Tests Automation with Robot Framework
Functional Tests Automation with Robot FrameworkFunctional Tests Automation with Robot Framework
Functional Tests Automation with Robot Framework
 
Git 101
Git 101Git 101
Git 101
 
Introducing GitLab (June 2018)
Introducing GitLab (June 2018)Introducing GitLab (June 2018)
Introducing GitLab (June 2018)
 

Viewers also liked

Do it the_git_way
Do it the_git_wayDo it the_git_way
Do it the_git_wayPeter Ukena
 
Serving Pull Requests with Jenkins
Serving Pull Requests with JenkinsServing Pull Requests with Jenkins
Serving Pull Requests with JenkinsSeth Goings
 
Git workflow advanced - Trung tâm lập trình Codeto Vietnam
Git workflow advanced - Trung tâm lập trình Codeto VietnamGit workflow advanced - Trung tâm lập trình Codeto Vietnam
Git workflow advanced - Trung tâm lập trình Codeto VietnamHà Anh Sơn
 
40 square's git workflow
40 square's git workflow40 square's git workflow
40 square's git workflowRuben Tan
 
Pull Request (PR): A git workflow
Pull Request (PR): A git workflow Pull Request (PR): A git workflow
Pull Request (PR): A git workflow Joan Yin
 
Verteilte Versionskontrolle mit Git
Verteilte Versionskontrolle mit GitVerteilte Versionskontrolle mit Git
Verteilte Versionskontrolle mit GitJan Dittberner
 
Versionskontrolle mit Subversion und Git
Versionskontrolle mit Subversion und GitVersionskontrolle mit Subversion und Git
Versionskontrolle mit Subversion und Gitpaultcochrane
 
Git, an Illustrated Primer
Git, an Illustrated PrimerGit, an Illustrated Primer
Git, an Illustrated PrimerDaniel Cousineau
 
Git Workflow Practice
Git Workflow PracticeGit Workflow Practice
Git Workflow PracticeAndy Wang
 
Überblick über aktuelle Versionsmanagementsysteme
Überblick über aktuelle VersionsmanagementsystemeÜberblick über aktuelle Versionsmanagementsysteme
Überblick über aktuelle VersionsmanagementsystemeAndreas Schreiber
 
Checkitmobile Git Workshop
Checkitmobile Git WorkshopCheckitmobile Git Workshop
Checkitmobile Git WorkshopGerrit Wanderer
 
'Git started' für Fortgeschrittene!
'Git started' für Fortgeschrittene!'Git started' für Fortgeschrittene!
'Git started' für Fortgeschrittene!Benjamin Schmid
 
Git workflow libre semikov
Git workflow libre semikovGit workflow libre semikov
Git workflow libre semikovInna Kravchenko
 
Workflows using Git GitHub | Edureka
Workflows using Git GitHub | EdurekaWorkflows using Git GitHub | Edureka
Workflows using Git GitHub | EdurekaEdureka!
 

Viewers also liked (20)

Do it the_git_way
Do it the_git_wayDo it the_git_way
Do it the_git_way
 
Serving Pull Requests with Jenkins
Serving Pull Requests with JenkinsServing Pull Requests with Jenkins
Serving Pull Requests with Jenkins
 
Git workflow advanced - Trung tâm lập trình Codeto Vietnam
Git workflow advanced - Trung tâm lập trình Codeto VietnamGit workflow advanced - Trung tâm lập trình Codeto Vietnam
Git workflow advanced - Trung tâm lập trình Codeto Vietnam
 
40 square's git workflow
40 square's git workflow40 square's git workflow
40 square's git workflow
 
Pull Request (PR): A git workflow
Pull Request (PR): A git workflow Pull Request (PR): A git workflow
Pull Request (PR): A git workflow
 
Git im team
Git im teamGit im team
Git im team
 
Verteilte Versionskontrolle mit Git
Verteilte Versionskontrolle mit GitVerteilte Versionskontrolle mit Git
Verteilte Versionskontrolle mit Git
 
Versionskontrolle mit Subversion und Git
Versionskontrolle mit Subversion und GitVersionskontrolle mit Subversion und Git
Versionskontrolle mit Subversion und Git
 
Git, an Illustrated Primer
Git, an Illustrated PrimerGit, an Illustrated Primer
Git, an Illustrated Primer
 
Git: Git'ing the Basic
Git: Git'ing the BasicGit: Git'ing the Basic
Git: Git'ing the Basic
 
Git Workflow Practice
Git Workflow PracticeGit Workflow Practice
Git Workflow Practice
 
Gitlab
GitlabGitlab
Gitlab
 
Überblick über aktuelle Versionsmanagementsysteme
Überblick über aktuelle VersionsmanagementsystemeÜberblick über aktuelle Versionsmanagementsysteme
Überblick über aktuelle Versionsmanagementsysteme
 
Checkitmobile Git Workshop
Checkitmobile Git WorkshopCheckitmobile Git Workshop
Checkitmobile Git Workshop
 
Git flow workflow example
Git flow workflow exampleGit flow workflow example
Git flow workflow example
 
'Git started' für Fortgeschrittene!
'Git started' für Fortgeschrittene!'Git started' für Fortgeschrittene!
'Git started' für Fortgeschrittene!
 
Git workflow libre semikov
Git workflow libre semikovGit workflow libre semikov
Git workflow libre semikov
 
Subversion
SubversionSubversion
Subversion
 
Workflows using Git GitHub | Edureka
Workflows using Git GitHub | EdurekaWorkflows using Git GitHub | Edureka
Workflows using Git GitHub | Edureka
 
Einstieg in git
Einstieg in gitEinstieg in git
Einstieg in git
 

Similar to GIT WORKFLOW IN 40 STEPS

Code review process with JetBrains UpSource
Code review process with JetBrains UpSourceCode review process with JetBrains UpSource
Code review process with JetBrains UpSourceOleksii Prohonnyi
 
Managing releases effectively through git
Managing releases effectively through gitManaging releases effectively through git
Managing releases effectively through gitMohd Farid
 
Adrian marinica continuous integration in the visual studio world
Adrian marinica   continuous integration in the visual studio worldAdrian marinica   continuous integration in the visual studio world
Adrian marinica continuous integration in the visual studio worldCodecamp Romania
 
Continuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was badContinuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was badJoe Ferguson
 
Branch to branch by Photis Patriotis
Branch to branch by Photis PatriotisBranch to branch by Photis Patriotis
Branch to branch by Photis PatriotisProlific Interactive
 
[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using Shipkit[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using ShipkitMarcinStachniuk
 
Azure slots for app deployment the continuous delivery way
Azure slots for app deployment the continuous delivery wayAzure slots for app deployment the continuous delivery way
Azure slots for app deployment the continuous delivery waywale ayandiran
 
Kentico Connection 2014 Boston Upgrade Like a Pro
Kentico Connection 2014 Boston Upgrade Like a ProKentico Connection 2014 Boston Upgrade Like a Pro
Kentico Connection 2014 Boston Upgrade Like a ProBrian McKeiver
 
Continuous integration / continuous delivery of web applications, Eugen Kuzmi...
Continuous integration / continuous delivery of web applications, Eugen Kuzmi...Continuous integration / continuous delivery of web applications, Eugen Kuzmi...
Continuous integration / continuous delivery of web applications, Eugen Kuzmi...Evgeniy Kuzmin
 
STX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next
 
AWS re:Invent 2016: DevOps on AWS: Advanced Continuous Delivery Techniques (D...
AWS re:Invent 2016: DevOps on AWS: Advanced Continuous Delivery Techniques (D...AWS re:Invent 2016: DevOps on AWS: Advanced Continuous Delivery Techniques (D...
AWS re:Invent 2016: DevOps on AWS: Advanced Continuous Delivery Techniques (D...Amazon Web Services
 
Joomla! Pizza Bugs and Fun 2014 pre-event Seminar
Joomla! Pizza Bugs and Fun 2014 pre-event SeminarJoomla! Pizza Bugs and Fun 2014 pre-event Seminar
Joomla! Pizza Bugs and Fun 2014 pre-event SeminarGunjan Patel
 
Continuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.orgContinuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.orgMarcinStachniuk
 
2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_finalMythri P K
 
How to fix a bug in production - Rollout.io
How to fix a bug in production - Rollout.ioHow to fix a bug in production - Rollout.io
How to fix a bug in production - Rollout.ioRollout.io
 
Synergy Tech Software Reuse With Cbd
Synergy Tech Software Reuse With CbdSynergy Tech Software Reuse With Cbd
Synergy Tech Software Reuse With CbdBill Duncan
 
Drupal Europe 2018: Hackers automate but the drupal community still downloads...
Drupal Europe 2018: Hackers automate but the drupal community still downloads...Drupal Europe 2018: Hackers automate but the drupal community still downloads...
Drupal Europe 2018: Hackers automate but the drupal community still downloads...hernanibf
 

Similar to GIT WORKFLOW IN 40 STEPS (20)

Code review process with JetBrains UpSource
Code review process with JetBrains UpSourceCode review process with JetBrains UpSource
Code review process with JetBrains UpSource
 
Managing releases effectively through git
Managing releases effectively through gitManaging releases effectively through git
Managing releases effectively through git
 
Git code reviews
Git code reviewsGit code reviews
Git code reviews
 
Jenkins
JenkinsJenkins
Jenkins
 
Adrian marinica continuous integration in the visual studio world
Adrian marinica   continuous integration in the visual studio worldAdrian marinica   continuous integration in the visual studio world
Adrian marinica continuous integration in the visual studio world
 
Continuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was badContinuous Integration: How I stopped guessing if that merge was bad
Continuous Integration: How I stopped guessing if that merge was bad
 
Branch to branch by Photis Patriotis
Branch to branch by Photis PatriotisBranch to branch by Photis Patriotis
Branch to branch by Photis Patriotis
 
[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using Shipkit[WroclawJUG] Continuous Delivery in OSS using Shipkit
[WroclawJUG] Continuous Delivery in OSS using Shipkit
 
Azure slots for app deployment the continuous delivery way
Azure slots for app deployment the continuous delivery wayAzure slots for app deployment the continuous delivery way
Azure slots for app deployment the continuous delivery way
 
Kentico Connection 2014 Boston Upgrade Like a Pro
Kentico Connection 2014 Boston Upgrade Like a ProKentico Connection 2014 Boston Upgrade Like a Pro
Kentico Connection 2014 Boston Upgrade Like a Pro
 
CI/CD with Github Actions
CI/CD with Github ActionsCI/CD with Github Actions
CI/CD with Github Actions
 
Continuous integration / continuous delivery of web applications, Eugen Kuzmi...
Continuous integration / continuous delivery of web applications, Eugen Kuzmi...Continuous integration / continuous delivery of web applications, Eugen Kuzmi...
Continuous integration / continuous delivery of web applications, Eugen Kuzmi...
 
STX Next - Scrum Development Process Overview
STX Next - Scrum Development Process OverviewSTX Next - Scrum Development Process Overview
STX Next - Scrum Development Process Overview
 
AWS re:Invent 2016: DevOps on AWS: Advanced Continuous Delivery Techniques (D...
AWS re:Invent 2016: DevOps on AWS: Advanced Continuous Delivery Techniques (D...AWS re:Invent 2016: DevOps on AWS: Advanced Continuous Delivery Techniques (D...
AWS re:Invent 2016: DevOps on AWS: Advanced Continuous Delivery Techniques (D...
 
Joomla! Pizza Bugs and Fun 2014 pre-event Seminar
Joomla! Pizza Bugs and Fun 2014 pre-event SeminarJoomla! Pizza Bugs and Fun 2014 pre-event Seminar
Joomla! Pizza Bugs and Fun 2014 pre-event Seminar
 
Continuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.orgContinuous Delivery in OSS using Shipkit.org
Continuous Delivery in OSS using Shipkit.org
 
2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final2015-ghci-presentation-git_gerritJenkins_final
2015-ghci-presentation-git_gerritJenkins_final
 
How to fix a bug in production - Rollout.io
How to fix a bug in production - Rollout.ioHow to fix a bug in production - Rollout.io
How to fix a bug in production - Rollout.io
 
Synergy Tech Software Reuse With Cbd
Synergy Tech Software Reuse With CbdSynergy Tech Software Reuse With Cbd
Synergy Tech Software Reuse With Cbd
 
Drupal Europe 2018: Hackers automate but the drupal community still downloads...
Drupal Europe 2018: Hackers automate but the drupal community still downloads...Drupal Europe 2018: Hackers automate but the drupal community still downloads...
Drupal Europe 2018: Hackers automate but the drupal community still downloads...
 

More from Binh Quan Duc

WordPress development checklist
WordPress development checklistWordPress development checklist
WordPress development checklistBinh Quan Duc
 
007. Redux middlewares
007. Redux middlewares007. Redux middlewares
007. Redux middlewaresBinh Quan Duc
 
006. React - Redux framework
006. React - Redux framework006. React - Redux framework
006. React - Redux frameworkBinh Quan Duc
 
005. a React project structure
005. a React project structure005. a React project structure
005. a React project structureBinh Quan Duc
 
004. Working with React component
004. Working with React component004. Working with React component
004. Working with React componentBinh Quan Duc
 
001. Introduction about React
001. Introduction about React001. Introduction about React
001. Introduction about ReactBinh Quan Duc
 
002. Working with Webpack
002. Working with Webpack002. Working with Webpack
002. Working with WebpackBinh Quan Duc
 
Introduction about type script
Introduction about type scriptIntroduction about type script
Introduction about type scriptBinh Quan Duc
 
Multi language for php with gettext
Multi language for php with gettextMulti language for php with gettext
Multi language for php with gettextBinh Quan Duc
 

More from Binh Quan Duc (10)

WordPress development checklist
WordPress development checklistWordPress development checklist
WordPress development checklist
 
007. Redux middlewares
007. Redux middlewares007. Redux middlewares
007. Redux middlewares
 
006. React - Redux framework
006. React - Redux framework006. React - Redux framework
006. React - Redux framework
 
005. a React project structure
005. a React project structure005. a React project structure
005. a React project structure
 
004. Working with React component
004. Working with React component004. Working with React component
004. Working with React component
 
003. ReactJS basic
003. ReactJS basic003. ReactJS basic
003. ReactJS basic
 
001. Introduction about React
001. Introduction about React001. Introduction about React
001. Introduction about React
 
002. Working with Webpack
002. Working with Webpack002. Working with Webpack
002. Working with Webpack
 
Introduction about type script
Introduction about type scriptIntroduction about type script
Introduction about type script
 
Multi language for php with gettext
Multi language for php with gettextMulti language for php with gettext
Multi language for php with gettext
 

Recently uploaded

Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfStefano Stabellini
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprisepreethippts
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Angel Borroy López
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Matt Ray
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作qr0udbr0
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Andreas Granig
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...Technogeeks
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Mater
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Velvetech LLC
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfLivetecs LLC
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxTier1 app
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaHanief Utama
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanyChristoph Pohl
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesŁukasz Chruściel
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....kzayra69
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesPhilip Schwarz
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsAhmed Mohamed
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 

Recently uploaded (20)

Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort ServiceHot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
Hot Sexy call girls in Patel Nagar🔝 9953056974 🔝 escort Service
 
Xen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdfXen Safety Embedded OSS Summit April 2024 v4.pdf
Xen Safety Embedded OSS Summit April 2024 v4.pdf
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
Odoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 EnterpriseOdoo 14 - eLearning Module In Odoo 14 Enterprise
Odoo 14 - eLearning Module In Odoo 14 Enterprise
 
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
Alfresco TTL#157 - Troubleshooting Made Easy: Deciphering Alfresco mTLS Confi...
 
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
Open Source Summit NA 2024: Open Source Cloud Costs - OpenCost's Impact on En...
 
英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作英国UN学位证,北安普顿大学毕业证书1:1制作
英国UN学位证,北安普顿大学毕业证书1:1制作
 
Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024Automate your Kamailio Test Calls - Kamailio World 2024
Automate your Kamailio Test Calls - Kamailio World 2024
 
What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...What is Advanced Excel and what are some best practices for designing and cre...
What is Advanced Excel and what are some best practices for designing and cre...
 
Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)Ahmed Motair CV April 2024 (Senior SW Developer)
Ahmed Motair CV April 2024 (Senior SW Developer)
 
Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...Software Project Health Check: Best Practices and Techniques for Your Product...
Software Project Health Check: Best Practices and Techniques for Your Product...
 
How to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdfHow to Track Employee Performance A Comprehensive Guide.pdf
How to Track Employee Performance A Comprehensive Guide.pdf
 
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptxKnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
KnowAPIs-UnknownPerf-jaxMainz-2024 (1).pptx
 
React Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief UtamaReact Server Component in Next.js by Hanief Utama
React Server Component in Next.js by Hanief Utama
 
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte GermanySuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
SuccessFactors 1H 2024 Release - Sneak-Peek by Deloitte Germany
 
Unveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New FeaturesUnveiling the Future: Sylius 2.0 New Features
Unveiling the Future: Sylius 2.0 New Features
 
What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....What are the key points to focus on before starting to learn ETL Development....
What are the key points to focus on before starting to learn ETL Development....
 
Folding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a seriesFolding Cheat Sheet #4 - fourth in a series
Folding Cheat Sheet #4 - fourth in a series
 
Unveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML DiagramsUnveiling Design Patterns: A Visual Guide with UML Diagrams
Unveiling Design Patterns: A Visual Guide with UML Diagrams
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 

GIT WORKFLOW IN 40 STEPS

  • 1. GIT WORKFLOW STEP BY STEP Presenter: BinhQD Twitter: @binhqd Github: binhqd LinkedIn: /in/binhqd
  • 2.
  • 3.
  • 4. ROLES 1. Developer 2. Team Lead 3. Tester 4. QM
  • 5. GIT Steps Step Developer Team Lead Tester QM I.1 Create issues - Create “develop” branch - Create/Assign issues
  • 6. STEPS: STEP 1 - Creat develop branch
  • 7. NOTE ❖ develop must be branched from master ❖ Developers are not allowed to push their commit directly to this branch ❖ Issue’s title must be meaningful and need to be applied with label(s): Urgent, Block, Bug, Support, Enhancement, etc
  • 8. GIT Steps Step Developer Team Lead Tester QM I.1 Create issues - Create “develop” branch - Create/Assign issues I.2 Create branches from dev
  • 9. STEPS: STEP 2 - Create feature branch from develop
  • 10. NOTE ❖ feature branches must be created from develop ❖ develop must be up-to-date before creating new branch
  • 11. GIT Steps Step Developer Team Lead Tester QM I.1 Create issues - Create “develop” branch - Create/Assign issues I.2 Create branches from dev I.3 Add commits
  • 12. STEPS: STEP 3 - Add commits
  • 13. NOTE ❖ Ignore files/dirs that unrelated to project or contain development information ❖ Each commit must be clean ❖ Don’t include works of other commit ❖ Add issue references ❖ Each commit message should follow “Commit Message Convention”
  • 14. GIT Steps Step Developer Team Lead Tester QM I.1 Create issues - Create “develop” branch - Create/Assign issues I.2 Create branches from dev I.3 Add commits I.4 Create Pull Requests (PR)
  • 15. STEPS: STEP 4 - Create Pull Request
  • 16. NOTE ❖ Developers must test their code by themselves before creating a Pull Request ❖ Developers must review their code line by line, file by file before create a PR ❖ Add issue references
  • 17. GIT Steps Step Developer Team Lead Tester QM I.1 Create issues - Create “develop” branch - Create/Assign issues I.2 Create branches from dev I.3 Add commits I.4 Create Pull Requests (PR) I.5 - Review PRs - Merge PRs Do testing per PR. Review by random pick
  • 18. STEPS: STEP 5 - Review & Merge PR
  • 19. STEPS: STEP 5 - Review & Merge more PRs
  • 20. NOTE ❖ Team lead must review developer’s code carefully before doing a Merge ➢ Convention/Standard ➢ Typo ➢ Detect hidden issues, risk ➢ Running CI ➢ Merge locally and running demo ❖ Reject: ➢ Add reject comment ❖ Approve & Merge
  • 21. GIT Steps Step Developer Team Lead Tester QM I.1 Create issues - Create “develop” branch - Create/Assign issues I.2 Create branches from dev I.3 Add commits I.4 Create Pull Requests (PR) I.5 - Review PRs - Merge PRs Do testing per PR. Review by random pick I.6 - Create/Merge branch for releases (release) - Running CI - Create new branches for fixing bugs (bugfix) from release - Update bug fixes back to develop Regressive Test per release on Staging site (UAT) Review regressive test result. Approve/Deny
  • 22. STEPS: STEP 6 - Create release branch
  • 23. STEPS: STEP 6 - Fix bugs for release branch
  • 24. GIT Steps Step Developer Team Lead Tester QM I.1 Create issues - Create “develop” branch - Create/Assign issues I.2 Create branches from dev I.3 Add commits I.4 Create Pull Requests (PR) I.5 - Review PRs - Merge PRs Do testing per PR. Review by random pick I.6 - Create/Merge branch for releases (release) - Running CI - Create new branches for fixing bugs (bugfix) from release - Update bug fixes back to develop Regressive Test per release on Staging site (UAT) Review regressive test result. Approve/Deny I.7 Req: Approval from QM - Create PR from release branch to master - Running CI - Test Restore script Review CI output Approve/Deny
  • 25. STEPS: STEP 7 - Create PR from release to master
  • 26. GIT Steps Step Developer Team Lead Tester QM I.1 Create issues - Create “develop” branch - Create/Assign issues I.2 Create branches from dev I.3 Add commits I.4 Create Pull Requests (PR) I.5 - Review PRs - Merge PRs Do testing per PR. Review by random pick I.6 - Create/Merge branch for releases (release) - Running CI - Create new branches for fixing bugs (bugfix) from release - Update bug fixes back to develop Regressive Test per release on Staging site (UAT) Review regressive test result. Approve/Deny I.7 Req: Approval from QM - Create PR from release branch to master - Running CI - Test Restore script Review CI output Approve/Deny I.8 Req: Approval from QM - Merge PR from Release to master - Running CI: + Auto Deployment + Auto Tag for each Release Regressive Test per merged PR (UAT) Review regressive test output
  • 27. STEPS: STEP 8 - Review & Merge PR to master
  • 28. GIT Steps Step Developer Team Lead Tester QM If errors occurs on LIVE (severity: medium/low) II.1 Create hotfix branch
  • 29. STEPS: Create bugfix for master
  • 30. GIT Steps Step Developer Team Lead Tester QM If errors occurs on LIVE (severity: medium/low) II.1 Create hotfix branch II.2 Add commits Add commits
  • 31. STEPS: Fix bug for hotfix branch
  • 32. GIT Steps Step Developer Team Lead Tester QM If errors occurs on LIVE (severity: medium/low) II.1 Create hotfix branch II.2 Add commits Add commits II.3 Create PR
  • 33. STEPS: Create PR for hotfix
  • 34. GIT Steps Step Developer Team Lead Tester QM If errors occurs on LIVE (severity: medium/low) II.1 Create hotfix branch II.2 Add commits Add commits II.3 Create PR II.4 - Review PRs - Merge PRs from developers to hotfix Do testing per PR
  • 35. STEPS: Review & Merge PR for hotfix
  • 36. STEPS: Continue fixing bugs for hotfix
  • 37. GIT Steps Step Developer Team Lead Tester QM If errors occurs on LIVE (severity: medium/low) II.1 Create hotfix branch II.2 Add commits Add commits II.3 Create PR II.4 - Review PRs - Merge PRs from developers to hotfix Do testing per PR II.5 - Create PR from hotfix branch to Master - Running CI - Test Restore script Review CI output Approve/Deny
  • 38. STEPS: Create PR to update master
  • 39. GIT Steps Step Developer Team Lead Tester QM If errors occurs on LIVE (severity: medium/low) II.1 Create hotfix branch II.2 Add commits Add commits II.3 Create PR II.4 - Review PRs - Merge PRs from developers to hotfix Do testing per PR II.5 - Create PR from hotfix branch to Master - Running CI - Test Restore script Review CI output Approve/Deny II.6 Req: Approval from QM - Merge PR from hotfix to master - Running CI: + Auto Deployment + Auto Tag for each Release Regressive Test per merged PR (UAT) Review regressive test output
  • 40. STEPS: Review & Merge master from bugfix
  • 41. GIT Steps Step Developer Team Lead Tester QM If errors occurs on LIVE caused critical issues (Blocking issues) III.1 Restore LIVE to previous TAG using script Regressive test after restore Review changes
  • 42. STEPS: Revert to previous version
  • 43. GIT Steps Step Developer Team Lead Tester QM If errors occurs on LIVE caused critical issues (Blocking issues) III.1 Restore LIVE to previous TAG using script Regressive test after restore Review changes III.2 Create branch for fixing bugs (bugfix) from previous Release Point (release branch)
  • 44. GIT Steps Step Developer Team Lead Tester QM If errors occurs on LIVE caused critical issues (Blocking issues) III.1 Restore LIVE to previous TAG using script Regressive test after restore Review changes III.2 Create branch for fixing bugs (bugfix) from previous Release Point (release branch) III.3 Add commits Add commits
  • 45. STEPS: Fixing bugs for release branch
  • 46. GIT Steps Step Developer Team Lead Tester QM If errors occurs on LIVE caused critical issues (Blocking issues) III.1 Restore LIVE to previous TAG using script Regressive test after restore Review changes III.2 Create branch for fixing bugs (bugfix) from previous Release Point (release branch) III.3 Add commits Add commits III.4 Create PR - Update bugfix back to develop
  • 47. STEPS: Create PR for release branch from bugfixes
  • 48. GIT Steps Step Developer Team Lead Tester QM If errors occurs on LIVE caused critical issues (Blocking issues) III.1 Restore LIVE to previous TAG using script Regressive test after restore Review changes III.2 Create branch for fixing bugs (bugfix) from previous Release Point (release branch) III.3 Add commits Add commits III.4 Create PR III.5 - Review PRs - Merge PRs from bugfix to release Do testing per PR. Review by random pick
  • 49. STEPS: Review & Merge bug fixes for release
  • 50. GIT Steps Step Developer Team Lead Tester QM If errors occurs on LIVE caused critical issues (Blocking issues) III.1 Restore LIVE to previous TAG using script Regressive test after restore Review changes III.2 Create branch for fixing bugs (bugfix) from previous Release Point (release branch) III.3 Add commits Add commits III.4 Create PR III.5 - Review PRs - Merge PRs from bugfix to release Do testing per PR. Review by random pick Back to I.7
  • 51. STEPS: Create PR from release to master
  • 52. Back to step I.7 for to complete the workflow