SlideShare a Scribd company logo
1 of 13
By Greg Hermo
Practical Git
 Source code
 Using Git
 Commit Guidelines
 Branching
 Commit Message
 Branching Model
Outline
Working together on a
large code base easier,
and produce quality,
maintainable code that
will be used for years to
come
Team Work
The source code we produce is our greatest
asset - and it is primarily the asset that the
client pays for. From the source code, the
entire system should be constructible.
Source Code
 Code (Java, JavaScript, CSS, HTML etc)
 Tests
 Build scripts
 Deployment Configuration
 Deploy scripts
 Documentation
The source code is
 personal configuration
 IDE configuration
 compiled code
 generated code
The source code is not
 readable
 maintainable
 changeable
 healthy : compilable and deployable
The way we share access to our greatest asset must protect all the
attributes we list above.
Source code standards
Git is our version control system of choice
 Commit early, commit often - small, atomic commits
 Commit WIP code to branch (commit as frequently as you like)
 Remove all commented out code before committing
 Rebase from master to continue to test integration
 Commit messages should be meaningful - changing WHAT and
WHY
Commit Guidelines
 By atomic, I mean a set of changes that make sense together.
 A "non" atomic commit would be a form with a few fields on it
that does not do anything and can't be submitted - thereby
breaking the usability of the system.
Atomic commits
1. Separate subject from body with a blank line
2. Limit the subject line to 50 characters
3. Capitalize the subject line
4. Do not end the subject line with a period
5. Use the imperative mood in the subject line
6. Wrap the body at 72 characters
7. Use the body to explain what and why vs. how
The seven rules of a great git commit message
http://chris.beams.io/posts/git-commit/
Git branching model
http://nvie.com/posts/a-successful-git-branching-model/
Thank you!
Questions?
@greghermo

More Related Content

What's hot

Hands on BDD with cucumber - Agile Goa Sept 2013
Hands on BDD with cucumber -  Agile Goa Sept 2013Hands on BDD with cucumber -  Agile Goa Sept 2013
Hands on BDD with cucumber - Agile Goa Sept 2013
Sonik Chopra
 

What's hot (15)

Cucumber Tool
Cucumber ToolCucumber Tool
Cucumber Tool
 
Points.com fisheye crucible code reviews 2011
Points.com fisheye crucible code reviews 2011Points.com fisheye crucible code reviews 2011
Points.com fisheye crucible code reviews 2011
 
BDD & Cucumber
BDD & CucumberBDD & Cucumber
BDD & Cucumber
 
Hands on BDD with cucumber - Agile Goa Sept 2013
Hands on BDD with cucumber -  Agile Goa Sept 2013Hands on BDD with cucumber -  Agile Goa Sept 2013
Hands on BDD with cucumber - Agile Goa Sept 2013
 
Tdd using Jasmine and karma
Tdd using  Jasmine and karmaTdd using  Jasmine and karma
Tdd using Jasmine and karma
 
Automation test framework with cucumber – BDD
Automation test framework with cucumber – BDDAutomation test framework with cucumber – BDD
Automation test framework with cucumber – BDD
 
Peer Code Review: In a Nutshell
Peer Code Review: In a NutshellPeer Code Review: In a Nutshell
Peer Code Review: In a Nutshell
 
Barcamp Bangkhen :: Robot Framework
Barcamp Bangkhen :: Robot FrameworkBarcamp Bangkhen :: Robot Framework
Barcamp Bangkhen :: Robot Framework
 
Crucible
CrucibleCrucible
Crucible
 
Vimperl
VimperlVimperl
Vimperl
 
Cucumber presenation
Cucumber presenationCucumber presenation
Cucumber presenation
 
StyleCop breaking down the barriers to entry
StyleCop breaking down the barriers to entryStyleCop breaking down the barriers to entry
StyleCop breaking down the barriers to entry
 
Why and how to keep your code quality
Why and how to keep your code quality Why and how to keep your code quality
Why and how to keep your code quality
 
Trunk Based Development in the Enterprise - Its Relevance and Economics
Trunk Based Development in the Enterprise - Its Relevance and EconomicsTrunk Based Development in the Enterprise - Its Relevance and Economics
Trunk Based Development in the Enterprise - Its Relevance and Economics
 
Effective Code Review (Or How To Alienate Your Coworkers)
Effective Code Review (Or How To Alienate Your Coworkers)Effective Code Review (Or How To Alienate Your Coworkers)
Effective Code Review (Or How To Alienate Your Coworkers)
 

Viewers also liked

Thesis presentation
Thesis presentationThesis presentation
Thesis presentation
nafisarfin
 
Was wir machen
Was wir machenWas wir machen
Was wir machen
syconomic
 
The strategy of hydrocarbon prediction (DHI) in deepwater exploration area-Ji...
The strategy of hydrocarbon prediction (DHI) in deepwater exploration area-Ji...The strategy of hydrocarbon prediction (DHI) in deepwater exploration area-Ji...
The strategy of hydrocarbon prediction (DHI) in deepwater exploration area-Ji...
Abra(Jianli) Yang
 
Google Partners - GA Certification
Google Partners - GA CertificationGoogle Partners - GA Certification
Google Partners - GA Certification
Alicia Dodd
 
Dai cuong u vung co nen co
Dai cuong u vung co nen coDai cuong u vung co nen co
Dai cuong u vung co nen co
vinhvd12
 

Viewers also liked (15)

redes sociales
redes socialesredes sociales
redes sociales
 
The alphabet sarsvathy
The alphabet sarsvathyThe alphabet sarsvathy
The alphabet sarsvathy
 
Simpulan Bahasa
Simpulan Bahasa Simpulan Bahasa
Simpulan Bahasa
 
Thesis presentation
Thesis presentationThesis presentation
Thesis presentation
 
pradeep cv
pradeep cvpradeep cv
pradeep cv
 
Was wir machen
Was wir machenWas wir machen
Was wir machen
 
The strategy of hydrocarbon prediction (DHI) in deepwater exploration area-Ji...
The strategy of hydrocarbon prediction (DHI) in deepwater exploration area-Ji...The strategy of hydrocarbon prediction (DHI) in deepwater exploration area-Ji...
The strategy of hydrocarbon prediction (DHI) in deepwater exploration area-Ji...
 
Google Partners - GA Certification
Google Partners - GA CertificationGoogle Partners - GA Certification
Google Partners - GA Certification
 
Ficha Técnica de la Compañia Minera Milpo SAA
Ficha Técnica de la Compañia Minera Milpo SAAFicha Técnica de la Compañia Minera Milpo SAA
Ficha Técnica de la Compañia Minera Milpo SAA
 
Jagdeep singh dangi creates the first hindi spell check software - ciol
Jagdeep singh dangi creates the first hindi spell check software - ciolJagdeep singh dangi creates the first hindi spell check software - ciol
Jagdeep singh dangi creates the first hindi spell check software - ciol
 
LA SUMA
LA SUMALA SUMA
LA SUMA
 
Educación intercultural y bilingüe en la Sierra de Zongolica: entre el despla...
Educación intercultural y bilingüe en la Sierra de Zongolica: entre el despla...Educación intercultural y bilingüe en la Sierra de Zongolica: entre el despla...
Educación intercultural y bilingüe en la Sierra de Zongolica: entre el despla...
 
Dai cuong u vung co nen co
Dai cuong u vung co nen coDai cuong u vung co nen co
Dai cuong u vung co nen co
 
Peribahasa 1
Peribahasa 1Peribahasa 1
Peribahasa 1
 
TAMADUN MESOPOTAMIA
TAMADUN MESOPOTAMIATAMADUN MESOPOTAMIA
TAMADUN MESOPOTAMIA
 

Similar to Practical Git by Greg Hermo

Best practices in enterprise applications
Best practices in enterprise applicationsBest practices in enterprise applications
Best practices in enterprise applications
Chandra Sekhar Saripaka
 
devops ppt for hjs jsdjhjd hsdbusinees.pptx
devops ppt for hjs jsdjhjd hsdbusinees.pptxdevops ppt for hjs jsdjhjd hsdbusinees.pptx
devops ppt for hjs jsdjhjd hsdbusinees.pptx
Deepakgupta273447
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
Lior Tal
 

Similar to Practical Git by Greg Hermo (20)

Best practices in enterprise applications
Best practices in enterprise applicationsBest practices in enterprise applications
Best practices in enterprise applications
 
Isset Presentation @ EECI2009
Isset Presentation @ EECI2009Isset Presentation @ EECI2009
Isset Presentation @ EECI2009
 
Coding standards
Coding standardsCoding standards
Coding standards
 
Code review
Code reviewCode review
Code review
 
21. High-Quality Programming Code
21. High-Quality Programming Code21. High-Quality Programming Code
21. High-Quality Programming Code
 
How we git - commit policy and code review
How we git - commit policy and code reviewHow we git - commit policy and code review
How we git - commit policy and code review
 
C++ Restrictions for Game Programming.
C++ Restrictions for Game Programming.C++ Restrictions for Game Programming.
C++ Restrictions for Game Programming.
 
Weekly Session with the local .NET Developer Community
Weekly Session with the local .NET  Developer CommunityWeekly Session with the local .NET  Developer Community
Weekly Session with the local .NET Developer Community
 
Microsoft Fakes, Unit Testing the (almost) Untestable Code
Microsoft Fakes, Unit Testing the (almost) Untestable CodeMicrosoft Fakes, Unit Testing the (almost) Untestable Code
Microsoft Fakes, Unit Testing the (almost) Untestable Code
 
Unit Tests with Microsoft Fakes
Unit Tests with Microsoft FakesUnit Tests with Microsoft Fakes
Unit Tests with Microsoft Fakes
 
Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1Code for Startup MVP (Ruby on Rails) Session 1
Code for Startup MVP (Ruby on Rails) Session 1
 
Software development best practices & coding guidelines
Software development best practices & coding guidelinesSoftware development best practices & coding guidelines
Software development best practices & coding guidelines
 
IDE, Terminal and SCM to work with Ruby on Rails
IDE, Terminal and SCM to  work with Ruby on RailsIDE, Terminal and SCM to  work with Ruby on Rails
IDE, Terminal and SCM to work with Ruby on Rails
 
Coding standard and coding guideline
Coding standard and coding guidelineCoding standard and coding guideline
Coding standard and coding guideline
 
#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters#SPSToronto How to do #DevOps with #SPFx and why it matters
#SPSToronto How to do #DevOps with #SPFx and why it matters
 
devops ppt for hjs jsdjhjd hsdbusinees.pptx
devops ppt for hjs jsdjhjd hsdbusinees.pptxdevops ppt for hjs jsdjhjd hsdbusinees.pptx
devops ppt for hjs jsdjhjd hsdbusinees.pptx
 
Git & Code review
Git & Code reviewGit & Code review
Git & Code review
 
Continuous integration
Continuous integrationContinuous integration
Continuous integration
 
Introduction to Continuous integration
Introduction to Continuous integrationIntroduction to Continuous integration
Introduction to Continuous integration
 
Abcxyz
AbcxyzAbcxyz
Abcxyz
 

Recently uploaded

( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
nilamkumrai
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
nirzagarg
 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
dharasingh5698
 
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
nirzagarg
 

Recently uploaded (20)

Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
Ganeshkhind ! Call Girls Pune - 450+ Call Girl Cash Payment 8005736733 Neha T...
 
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
Call Girls Sangvi Call Me 7737669865 Budget Friendly No Advance BookingCall G...
 
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting  High Prof...
VIP Model Call Girls Hadapsar ( Pune ) Call ON 9905417584 Starting High Prof...
 
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
( Pune ) VIP Pimpri Chinchwad Call Girls 🎗️ 9352988975 Sizzling | Escorts | G...
 
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
2nd Solid Symposium: Solid Pods vs Personal Knowledge Graphs
 
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
Russian Call Girls in %(+971524965298  )#  Call Girls in DubaiRussian Call Girls in %(+971524965298  )#  Call Girls in Dubai
Russian Call Girls in %(+971524965298 )# Call Girls in Dubai
 
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
(INDIRA) Call Girl Pune Call Now 8250077686 Pune Escorts 24x7
 
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men  🔝mehsana🔝   Escorts...
➥🔝 7737669865 🔝▻ mehsana Call-girls in Women Seeking Men 🔝mehsana🔝 Escorts...
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
Real Escorts in Al Nahda +971524965298 Dubai Escorts Service
Real Escorts in Al Nahda +971524965298 Dubai Escorts ServiceReal Escorts in Al Nahda +971524965298 Dubai Escorts Service
Real Escorts in Al Nahda +971524965298 Dubai Escorts Service
 
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
VVIP Pune Call Girls Sinhagad WhatSapp Number 8005736733 With Elite Staff And...
 
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort ServiceBusty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
Busty Desi⚡Call Girls in Vasundhara Ghaziabad >༒8448380779 Escort Service
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck Microsoft
 
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...Nanded City ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready ...
Nanded City ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready ...
 
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 BookingVIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
VIP Call Girls Pollachi 7001035870 Whatsapp Number, 24/07 Booking
 
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
💚😋 Bilaspur Escort Service Call Girls, 9352852248 ₹5000 To 25K With AC💚😋
 
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
Sarola * Female Escorts Service in Pune | 8005736733 Independent Escorts & Da...
 
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
Call Now ☎ 8264348440 !! Call Girls in Green Park Escort Service Delhi N.C.R.
 
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...Katraj ( Call Girls ) Pune  6297143586  Hot Model With Sexy Bhabi Ready For S...
Katraj ( Call Girls ) Pune 6297143586 Hot Model With Sexy Bhabi Ready For S...
 

Practical Git by Greg Hermo

  • 2.  Source code  Using Git  Commit Guidelines  Branching  Commit Message  Branching Model Outline
  • 3. Working together on a large code base easier, and produce quality, maintainable code that will be used for years to come Team Work
  • 4. The source code we produce is our greatest asset - and it is primarily the asset that the client pays for. From the source code, the entire system should be constructible. Source Code
  • 5.  Code (Java, JavaScript, CSS, HTML etc)  Tests  Build scripts  Deployment Configuration  Deploy scripts  Documentation The source code is
  • 6.  personal configuration  IDE configuration  compiled code  generated code The source code is not
  • 7.  readable  maintainable  changeable  healthy : compilable and deployable The way we share access to our greatest asset must protect all the attributes we list above. Source code standards
  • 8. Git is our version control system of choice
  • 9.  Commit early, commit often - small, atomic commits  Commit WIP code to branch (commit as frequently as you like)  Remove all commented out code before committing  Rebase from master to continue to test integration  Commit messages should be meaningful - changing WHAT and WHY Commit Guidelines
  • 10.  By atomic, I mean a set of changes that make sense together.  A "non" atomic commit would be a form with a few fields on it that does not do anything and can't be submitted - thereby breaking the usability of the system. Atomic commits
  • 11. 1. Separate subject from body with a blank line 2. Limit the subject line to 50 characters 3. Capitalize the subject line 4. Do not end the subject line with a period 5. Use the imperative mood in the subject line 6. Wrap the body at 72 characters 7. Use the body to explain what and why vs. how The seven rules of a great git commit message http://chris.beams.io/posts/git-commit/