SlideShare ist ein Scribd-Unternehmen logo
1 von 39
Downloaden Sie, um offline zu lesen
Agile team workflow
Mahmoud Masih Tehrani
Coderconf3
Mahmoud Masih Tehrani
Php & Golang developer
about 10 years use GNU/Linux
I love Nature ,Sport ,Theatre ,Free
Software & Programing
Username : mahm0ud or
mahm0ud22
Email:
mahmud.tehrani@gmail.com
Git
What is it? Git is a free and open
source distributed version control
system created by Linus Torvalds in
2005 ( Who is also the creator of Linux
kernel ). It is designed to manage
everything for small or very large
projects with speed and efficiency.
Majors organisations like Google,
Facebook, Microsoft uses GIT daily.
But, It’s too complicated!
Most of the developer who doesn’t use
git or using git very little, they came up
saying, “Git is too complicated. It’s too
hard to learn. I don’t really understand
it.” Actually, Git is very easy to use and
learn and especially considering how
powerful it is! If you can have the basic
understanding of git flow, it’ll be a life
saviour for YOU.
A successful Git branching
model
First post about git workflow
in 2010 By Vincent Driessen
What’s the best
workflow
different team
+ different cultural
+ different product
= git workflow
Design your own workflows
issue issue
issue issue
Our codeIssues
Linear workflow
Another code freeze
Idle developer
Branching workflow
Why branch?
Isolation
Stability
Traceability
Git Workflow model
Feature branching
Release branching
Hot fix branching

Feature branching
Feature A Feature B
Feature C Feature D
Issues
gitlab merge request OR
github pull request
release branching
Release Branch
Sid
Testing
Stable
hot fix branching
Tagging Versions(Semantic)
MAJOR.MINOR.PATCH
1.	 MAJOR version when you make incompatible API
changes,
2.	 MINOR version when you add functionality in a
backwards-compatible manner, and
3.	 PATCH version when you make backwards-compatible
bug fixes.
Review code
code review rules
Test & lint
Deployment
Cycle team
tıps for git branching
model efficient usage of git
Learn git Command Line by
heart, stop using GUI
Only few people should be
authorize for merging
development branch to
master branch
ensure that all tests are
passing

before pushing to upstream
do not push half-baked,
untested, incomplete, 

not-compiling, to-be-fixed,
not-ready-to-deploy code to git
push code. If commit it use
write flag WIP !
Never use --m  <message> flag to git
commit and Follow Commit message
best practices characters or less.
That is summary.
• First line is 50line
• Then a blank text should be
wrapped at 72 characters.
• Remaining description That is
detailed
Branch naming
Issue title
Issue id number
Issue type/issue number/description
Squash commits of bug fix
into one and exactly one
commit that completely
represents that bug fix
Squash commits of your completed
story into one commit before pushing
to upstream
One Task
One commit
One pull request
Please use Commit - - amend
Use .gitıgnore in order not to
send irrelevant files never
push IDE files or package or
binary or temp files
Forking a repository allows you to freely experiment
with changes without affecting the original project.
Git pull upstream master
- -rebase
do not reset without stashing
or committing & tagging
references
• A successful Git branching model http://nvie.com/posts/a-successful-
git-branching-model/
• Understanding the GitHub Flow https://guides.github.com/introduction/
flow/
• Gitlab workflow https://about.gitlab.com/2014/09/29/gitlab-flow/
• Comparing workflow https://www.atlassian.com/git/tutorials/
comparing-workflows
• Semantic Versioning http://semver.org/
Thanks a lot
The end

Weitere ähnliche Inhalte

Was ist angesagt?

Continuous integration with docker, buildbot and git
Continuous integration with docker, buildbot and gitContinuous integration with docker, buildbot and git
Continuous integration with docker, buildbot and git
Adieu
 
When Will Drupal Die?
When Will Drupal Die?When Will Drupal Die?
When Will Drupal Die?
chrisshattuck
 
Intro to Version Control with Git and Github
Intro to Version Control with Git and GithubIntro to Version Control with Git and Github
Intro to Version Control with Git and Github
Joe Fleming
 

Was ist angesagt? (18)

iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
iTHome Gopher Day 2017: What can Golang do?  (Using project 52 as examples)iTHome Gopher Day 2017: What can Golang do?  (Using project 52 as examples)
iTHome Gopher Day 2017: What can Golang do? (Using project 52 as examples)
 
Buildbot: The Continuous Integration Python framework
Buildbot: The Continuous Integration Python frameworkBuildbot: The Continuous Integration Python framework
Buildbot: The Continuous Integration Python framework
 
Let's Git Together! - Hacktoberfest 2020
Let's Git Together! - Hacktoberfest 2020Let's Git Together! - Hacktoberfest 2020
Let's Git Together! - Hacktoberfest 2020
 
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
如何透過 Golang 與 Heroku 來一鍵部署 臉書機器人與 Line Bot
 
Continuous integration with docker, buildbot and git
Continuous integration with docker, buildbot and gitContinuous integration with docker, buildbot and git
Continuous integration with docker, buildbot and git
 
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
EGit and Gerrit Code Review - Eclipse DemoCamp Bonn - 2010-11-16
 
Github developing stack
Github developing stackGithub developing stack
Github developing stack
 
Continuous Integration using Buildbot
Continuous Integration using Buildbot Continuous Integration using Buildbot
Continuous Integration using Buildbot
 
When Will Drupal Die?
When Will Drupal Die?When Will Drupal Die?
When Will Drupal Die?
 
用 Go 語言實戰 Push Notification 服務
用 Go 語言實戰 Push Notification 服務用 Go 語言實戰 Push Notification 服務
用 Go 語言實戰 Push Notification 服務
 
Intro to Github
Intro to GithubIntro to Github
Intro to Github
 
Dev01 - Don't Reinvent the Wheel
Dev01 - Don't Reinvent the WheelDev01 - Don't Reinvent the Wheel
Dev01 - Don't Reinvent the Wheel
 
Mobile Apps by Pure Go with Reverse Binding
Mobile Apps by Pure Go with Reverse BindingMobile Apps by Pure Go with Reverse Binding
Mobile Apps by Pure Go with Reverse Binding
 
Introduction to hacktoberfest
Introduction to  hacktoberfestIntroduction to  hacktoberfest
Introduction to hacktoberfest
 
Intro to Version Control with Git and Github
Intro to Version Control with Git and GithubIntro to Version Control with Git and Github
Intro to Version Control with Git and Github
 
Using Git and GitHub Effectively at Emerge Interactive
Using Git and GitHub Effectively at Emerge InteractiveUsing Git and GitHub Effectively at Emerge Interactive
Using Git and GitHub Effectively at Emerge Interactive
 
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
GitLab: One Tool for Software Development (2018-02-06 @ SEIUM, Braga, Portugal)
 
Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...
Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...
Google Developer Day 2010 Japan: 「App Engine 開発者コミュニティ「appengine ja night」とフレ...
 

Ähnlich wie Agile team workflow

Git Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfGit Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdf
uzair
 
Sample Presentation.pptx
Sample Presentation.pptxSample Presentation.pptx
Sample Presentation.pptx
ssuser9aed211
 

Ähnlich wie Agile team workflow (20)

Git Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdfGit Tutorial A Comprehensive Guide for Beginners.pdf
Git Tutorial A Comprehensive Guide for Beginners.pdf
 
Git & Code review
Git & Code reviewGit & Code review
Git & Code review
 
Web-development-git
Web-development-gitWeb-development-git
Web-development-git
 
Git best practices workshop
Git best practices workshopGit best practices workshop
Git best practices workshop
 
Git step by step
Git step by stepGit step by step
Git step by step
 
Git for work groups ironhack talk
Git for work groups ironhack talkGit for work groups ironhack talk
Git for work groups ironhack talk
 
Stanislav Khorunzhyi, "Front-end it like a PRO"
Stanislav Khorunzhyi, "Front-end it like a PRO"Stanislav Khorunzhyi, "Front-end it like a PRO"
Stanislav Khorunzhyi, "Front-end it like a PRO"
 
Git tech
Git techGit tech
Git tech
 
Git best practices 2016
Git best practices 2016Git best practices 2016
Git best practices 2016
 
Open source
Open sourceOpen source
Open source
 
Introduction to Go
Introduction to GoIntroduction to Go
Introduction to Go
 
Intro to git and git hub
Intro to git and git hubIntro to git and git hub
Intro to git and git hub
 
Git essentials
Git essentialsGit essentials
Git essentials
 
Vincit Teatime 2015.2 - Otto Kekäläinen: Don't be a git
Vincit Teatime 2015.2 - Otto Kekäläinen: Don't be a gitVincit Teatime 2015.2 - Otto Kekäläinen: Don't be a git
Vincit Teatime 2015.2 - Otto Kekäläinen: Don't be a git
 
Sample Presentation.pptx
Sample Presentation.pptxSample Presentation.pptx
Sample Presentation.pptx
 
Introduction to Github Actions
Introduction to Github ActionsIntroduction to Github Actions
Introduction to Github Actions
 
Introduction to Github Actions
Introduction to Github ActionsIntroduction to Github Actions
Introduction to Github Actions
 
You can git
You can gitYou can git
You can git
 
La importancia de versionar el código: GitHub, portafolio y recursos para est...
La importancia de versionar el código: GitHub, portafolio y recursos para est...La importancia de versionar el código: GitHub, portafolio y recursos para est...
La importancia de versionar el código: GitHub, portafolio y recursos para est...
 
Gitting better
Gitting betterGitting better
Gitting better
 

Kürzlich hochgeladen

TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
mohitmore19
 

Kürzlich hochgeladen (20)

10 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 202410 Trends Likely to Shape Enterprise Technology in 2024
10 Trends Likely to Shape Enterprise Technology in 2024
 
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
 
AI & Machine Learning Presentation Template
AI & Machine Learning Presentation TemplateAI & Machine Learning Presentation Template
AI & Machine Learning Presentation Template
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
The Guide to Integrating Generative AI into Unified Continuous Testing Platfo...
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) SolutionIntroducing Microsoft’s new Enterprise Work Management (EWM) Solution
Introducing Microsoft’s new Enterprise Work Management (EWM) Solution
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
Define the academic and professional writing..pdf
Define the academic and professional writing..pdfDefine the academic and professional writing..pdf
Define the academic and professional writing..pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...How to Choose the Right Laravel Development Partner in New York City_compress...
How to Choose the Right Laravel Development Partner in New York City_compress...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 

Agile team workflow