SlideShare uma empresa Scribd logo
1 de 20
Git for work groups
and some advices from
the real world
How to avoid the git-tastrophe
@tiagoameller
tiago.ameller@gmail.com
Ironhack talks
Do we really need a
version control system?
No, I don’t need that
I use DROPBOX!
A VCS is more than a code backup:
Centralized repository
Revisions history
Team management
Milestones
Branches for new (or experimental) features
Revise other developers code
VCS for a single developer?
Yes.
Do you can use Git with no defined
workflow?
No.
What’s is the best workflow for you
or your team?
There are some variables:
1. Complexity of your product
2. Size of your team
3. It’s an in production software or it’s not
released yet?
What do you need? (I)
Centralized repository.
Most popular:
● Github
○ Free for public repositories
● Bitbucket
○ Also free for private repositories
What do you need? (II)
Issue tracker.
There are many options. My advice is a pure issue
tracker, not a collaborative utility such Trello, Kanbanflow,
etc.
17 Bug and issue tracking systems:
http://mashable.com/2014/02/16/bug-tracking-apps/
We use Mantis: http://www.mantisbt.org/
In few years, you get thousands of issues
Features an Issue tracker should have
● Project oriented (multi project)
● Support for SCRUM
● Release numbering
● Roles for users
● Time tracking (estimate, remaining, done)
● Priority management
● Searching
● Logging
● Customization for, by example, integration with other in
house tools
● External interface for customers, to show them project
pace, let them to make comments, report problems 

But do not authorize them to create new issues!
What do you need? (III)
A project master person
1. Can be the Product Owner in SCRUM.
2. Revises all code before merging
3. Fixes all code conflicts
git diff is not enough, there are some utilities. We can use
them with git difftool and git mergetool
Meld
http://meld.sourceforge.net/install.html
p4merge
http://www.perforce.com
Diffmerge
http://www.sourcegear.com/diffmerge/
Let’s see a
feature based
workflow
Branches.
Master
● Tagged for every release version
● Is untouchable. Any change implies a new release
● Only project master can merge to it
devname-m<issue#>
● Every issue (new features or bug fixes) have is own branch. Prepended by
developer name: Example: victoria-m1234
In one developer team, just use m<issue#>
Staging or QA (quality assurance)
Optional in small projects
● Release candidates
● Used for testing or limited releases to a small group of users
Our goal is having an stable Master Branch in every
moment.
New features must be implemented in a separate branch.
This branch can be abandoned not affecting project stability.
Every developer must frequently pull from last stable branch
for starting a new issue:
Imagine issue “1234 Add new taxes calculation to intl.
invoices”
In Victoria’s computer ...
Day 2

 work on it 

git commit -am “WIP do calcs in cases a and b”
git push
Day 1
git pull origin master
git checkout -b victoria-m1234

 work on it 

git commit -am “WIP define new fields on tax calculation”
git push --set-upstream origin victoria-m1234
Day 3

 work on it 
 and finish!
git commit -am “1234 Add new taxes calculation to intl. invoices”
git push
Update issue tracker with incidences, time spent, etc regarding this issue.
Inform project manager (he gets informed by email from issue tracker)
In project’s manager computer 
 (BTW, he’s name is Sheldom)
git fetch origin
New branches created (victoria-m1234 and others)
git checkout staging
git merge sheldom # here are all issues done by all developers
git push origin
repeat with other developers branches and issues
Fix conflicts, if any
git checkout sheldom
git diff victoria-m1234 # seems good job
git merge victoria-m1234 # no conflicts Great!
git checkout staging
git merge sheldom
Variants:
● Merge locally your
issue branches and
just push to origin
your named branch
● Use rebase to
remove WIP
commits
● Use pull request
Approve and merge
code online
● Use tags for
releases
● Drop issue
branches after
merging
Advices
● Commit, commit and commit! (thanks, Nick)
● Before any commit (also the 4 am ones),
use git diff to revise your changes from last
commit or reference branch
● Write USEFUL commit messages
● Is better to create unnecessary branches
● Use stash for rapid change between
contexts
● The issue ID is your friend. Use it
everywhere: commit messages and
comments in code
Advices for issue tracking
● Be verbose: When writing a new issue, may
be you or another developer will work on it
weeks or months later. Then nobody will
remember why this issue was created
● Attach sample data, user emails, screen
shots, etc to your issues
● If it’s a bug, write how to reproduce it. Also
who reported it (end user?) Probably you’ll
need more info
● Every issue should have an estimated time
to completion. Compare with your actual
results. It’ll help to your team to make more
@tiagoameller
with great help from
@luislopezcamps
Thank you for your
attention

Mais conteĂșdo relacionado

Mais procurados

icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02
Manohar Kumar
 
Product development and tools
Product development and toolsProduct development and tools
Product development and tools
roelofr
 
Real Agile: Continuous Delivery with HuskyCode's Foresee Project
Real Agile: Continuous Delivery with HuskyCode's Foresee ProjectReal Agile: Continuous Delivery with HuskyCode's Foresee Project
Real Agile: Continuous Delivery with HuskyCode's Foresee Project
Theerapol Muangyoung
 
Buildbot
BuildbotBuildbot
Buildbot
williewu
 

Mais procurados (20)

Trunk based development ritabrata
Trunk based development ritabrataTrunk based development ritabrata
Trunk based development ritabrata
 
icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02icebreakerwithdevops-150218112943-conversion-gate02
icebreakerwithdevops-150218112943-conversion-gate02
 
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
Implementing a Continuous Delivery pipeline using OW2 infrastructure, OW2con'...
 
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
Test-Driven-Development for Networking: Making CI Work for You by Colin McNam...
 
Product development and tools
Product development and toolsProduct development and tools
Product development and tools
 
Real Agile: Continuous Delivery with HuskyCode's Foresee Project
Real Agile: Continuous Delivery with HuskyCode's Foresee ProjectReal Agile: Continuous Delivery with HuskyCode's Foresee Project
Real Agile: Continuous Delivery with HuskyCode's Foresee Project
 
Survival of the Continuist
Survival of the ContinuistSurvival of the Continuist
Survival of the Continuist
 
Continuous integration 101
Continuous integration 101Continuous integration 101
Continuous integration 101
 
Drupal security - There is a mini Drupalgeddon every week & how to survive it
Drupal security - There is a mini Drupalgeddon every week & how to survive itDrupal security - There is a mini Drupalgeddon every week & how to survive it
Drupal security - There is a mini Drupalgeddon every week & how to survive it
 
PHPUnit with Magento
PHPUnit with MagentoPHPUnit with Magento
PHPUnit with Magento
 
Buildbot: The Continuous Integration Python framework
Buildbot: The Continuous Integration Python frameworkBuildbot: The Continuous Integration Python framework
Buildbot: The Continuous Integration Python framework
 
Dev01 - Don't Reinvent the Wheel
Dev01 - Don't Reinvent the WheelDev01 - Don't Reinvent the Wheel
Dev01 - Don't Reinvent the Wheel
 
Improving Untestable Code
Improving Untestable CodeImproving Untestable Code
Improving Untestable Code
 
Dev objective2015 lets git together
Dev objective2015 lets git togetherDev objective2015 lets git together
Dev objective2015 lets git together
 
Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)Git in 10 minutes (WordCamp Europe 2017)
Git in 10 minutes (WordCamp Europe 2017)
 
Lightweight continuous delivery for small schools
Lightweight continuous delivery for small schoolsLightweight continuous delivery for small schools
Lightweight continuous delivery for small schools
 
Git Branching for Agile Teams
Git Branching for Agile Teams Git Branching for Agile Teams
Git Branching for Agile Teams
 
Git workflow step by step
Git workflow step by stepGit workflow step by step
Git workflow step by step
 
Git branching
Git branchingGit branching
Git branching
 
Buildbot
BuildbotBuildbot
Buildbot
 

Semelhante a Git for work groups ironhack talk

Git - Simplified For Testers
Git - Simplified For TestersGit - Simplified For Testers
Git - Simplified For Testers
upadhyay_25
 
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
 

Semelhante a Git for work groups ironhack talk (20)

Git Basics
Git BasicsGit Basics
Git Basics
 
Introducing Git and git flow
Introducing Git and git flow Introducing Git and git flow
Introducing Git and git flow
 
Using Git with WordPress - Presented by Nigel Rodgers.
Using Git with WordPress - Presented by Nigel Rodgers.Using Git with WordPress - Presented by Nigel Rodgers.
Using Git with WordPress - Presented by Nigel Rodgers.
 
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 & 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
 
Overview of Gitlab usage
Overview of Gitlab usageOverview of Gitlab usage
Overview of Gitlab usage
 
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
Open Sprintera (Where Open Source Sparks a Sprint of Possibilities)
 
Git & GitLab
Git & GitLabGit & GitLab
Git & GitLab
 
Understanding GitFlow by Ian Vizarra
Understanding GitFlow by Ian VizarraUnderstanding GitFlow by Ian Vizarra
Understanding GitFlow by Ian Vizarra
 
Introduction to git flow
Introduction to git flowIntroduction to git flow
Introduction to git flow
 
Managing software product versioning with Gitflow, VSTS and Atlassian SourceTree
Managing software product versioning with Gitflow, VSTS and Atlassian SourceTreeManaging software product versioning with Gitflow, VSTS and Atlassian SourceTree
Managing software product versioning with Gitflow, VSTS and Atlassian SourceTree
 
Microservices Development Process at Predix.io
Microservices Development Process at Predix.ioMicroservices Development Process at Predix.io
Microservices Development Process at Predix.io
 
Git - Simplified For Testers
Git - Simplified For TestersGit - Simplified For Testers
Git - Simplified For Testers
 
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
 
Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Introduction to Git and Github - Google Developer Student Clubs CET, TrivandrumIntroduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
Introduction to Git and Github - Google Developer Student Clubs CET, Trivandrum
 
Git usage (Basics and workflow)
Git usage (Basics and workflow)Git usage (Basics and workflow)
Git usage (Basics and workflow)
 
How We Use GitHub
How We Use GitHubHow We Use GitHub
How We Use GitHub
 
Workshop on Git and GitHub
Workshop on Git and GitHubWorkshop on Git and GitHub
Workshop on Git and GitHub
 

Último

Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Bert Jan Schrijver
 
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
 
Abortion Pills In Pretoria ](+27832195400*)[ đŸ„ Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ đŸ„ Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ đŸ„ Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ đŸ„ Women's Abortion Clinic In Pre...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
masabamasaba
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Último (20)

Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
WSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaSWSO2CON 2024 Slides - Open Source to SaaS
WSO2CON 2024 Slides - Open Source to SaaS
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
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...
 
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
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
WSO2CON 2024 - Navigating API Complexity: REST, GraphQL, gRPC, Websocket, Web...
 
%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
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
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
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 
Abortion Pills In Pretoria ](+27832195400*)[ đŸ„ Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ đŸ„ Women's Abortion Clinic In Pre...Abortion Pills In Pretoria ](+27832195400*)[ đŸ„ Women's Abortion Clinic In Pre...
Abortion Pills In Pretoria ](+27832195400*)[ đŸ„ Women's Abortion Clinic In Pre...
 
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 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
WSO2Con2024 - GitOps in Action: Navigating Application Deployment in the Plat...
 
WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - Kanchana
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Toronto Psychic Readings, Attraction spells,Brin...
 

Git for work groups ironhack talk

  • 1. Git for work groups and some advices from the real world How to avoid the git-tastrophe @tiagoameller tiago.ameller@gmail.com Ironhack talks
  • 2. Do we really need a version control system?
  • 3. No, I don’t need that I use DROPBOX!
  • 4. A VCS is more than a code backup: Centralized repository Revisions history Team management Milestones Branches for new (or experimental) features Revise other developers code
  • 5. VCS for a single developer? Yes.
  • 6. Do you can use Git with no defined workflow? No.
  • 7. What’s is the best workflow for you or your team? There are some variables: 1. Complexity of your product 2. Size of your team 3. It’s an in production software or it’s not released yet?
  • 8. What do you need? (I) Centralized repository. Most popular: ● Github ○ Free for public repositories ● Bitbucket ○ Also free for private repositories
  • 9. What do you need? (II) Issue tracker. There are many options. My advice is a pure issue tracker, not a collaborative utility such Trello, Kanbanflow, etc. 17 Bug and issue tracking systems: http://mashable.com/2014/02/16/bug-tracking-apps/ We use Mantis: http://www.mantisbt.org/ In few years, you get thousands of issues
  • 10. Features an Issue tracker should have ● Project oriented (multi project) ● Support for SCRUM ● Release numbering ● Roles for users ● Time tracking (estimate, remaining, done) ● Priority management ● Searching ● Logging ● Customization for, by example, integration with other in house tools ● External interface for customers, to show them project pace, let them to make comments, report problems 
 But do not authorize them to create new issues!
  • 11. What do you need? (III) A project master person 1. Can be the Product Owner in SCRUM. 2. Revises all code before merging 3. Fixes all code conflicts git diff is not enough, there are some utilities. We can use them with git difftool and git mergetool Meld http://meld.sourceforge.net/install.html p4merge http://www.perforce.com Diffmerge http://www.sourcegear.com/diffmerge/
  • 12. Let’s see a feature based workflow
  • 13. Branches. Master ● Tagged for every release version ● Is untouchable. Any change implies a new release ● Only project master can merge to it devname-m<issue#> ● Every issue (new features or bug fixes) have is own branch. Prepended by developer name: Example: victoria-m1234 In one developer team, just use m<issue#> Staging or QA (quality assurance) Optional in small projects ● Release candidates ● Used for testing or limited releases to a small group of users
  • 14. Our goal is having an stable Master Branch in every moment. New features must be implemented in a separate branch. This branch can be abandoned not affecting project stability. Every developer must frequently pull from last stable branch for starting a new issue: Imagine issue “1234 Add new taxes calculation to intl. invoices” In Victoria’s computer ...
  • 15. Day 2 
 work on it 
 git commit -am “WIP do calcs in cases a and b” git push Day 1 git pull origin master git checkout -b victoria-m1234 
 work on it 
 git commit -am “WIP define new fields on tax calculation” git push --set-upstream origin victoria-m1234 Day 3 
 work on it 
 and finish! git commit -am “1234 Add new taxes calculation to intl. invoices” git push Update issue tracker with incidences, time spent, etc regarding this issue. Inform project manager (he gets informed by email from issue tracker)
  • 16. In project’s manager computer 
 (BTW, he’s name is Sheldom) git fetch origin New branches created (victoria-m1234 and others) git checkout staging git merge sheldom # here are all issues done by all developers git push origin repeat with other developers branches and issues Fix conflicts, if any git checkout sheldom git diff victoria-m1234 # seems good job git merge victoria-m1234 # no conflicts Great! git checkout staging git merge sheldom
  • 17. Variants: ● Merge locally your issue branches and just push to origin your named branch ● Use rebase to remove WIP commits ● Use pull request Approve and merge code online ● Use tags for releases ● Drop issue branches after merging
  • 18. Advices ● Commit, commit and commit! (thanks, Nick) ● Before any commit (also the 4 am ones), use git diff to revise your changes from last commit or reference branch ● Write USEFUL commit messages ● Is better to create unnecessary branches ● Use stash for rapid change between contexts ● The issue ID is your friend. Use it everywhere: commit messages and comments in code
  • 19. Advices for issue tracking ● Be verbose: When writing a new issue, may be you or another developer will work on it weeks or months later. Then nobody will remember why this issue was created ● Attach sample data, user emails, screen shots, etc to your issues ● If it’s a bug, write how to reproduce it. Also who reported it (end user?) Probably you’ll need more info ● Every issue should have an estimated time to completion. Compare with your actual results. It’ll help to your team to make more
  • 20. @tiagoameller with great help from @luislopezcamps Thank you for your attention