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

Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Monica Sydney
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Monica Sydney
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
ydyuyu
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
ydyuyu
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
gajnagarg
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
ayvbos
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 

Recently uploaded (20)

Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girlsRussian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
Russian Call girls in Abu Dhabi 0508644382 Abu Dhabi Call girls
 
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
 
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu DhabiAbu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
Abu Dhabi Escorts Service 0508644382 Escorts in Abu Dhabi
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
20240507 QFM013 Machine Intelligence Reading List April 2024.pdf
 
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency""Boost Your Digital Presence: Partner with a Leading SEO Agency"
"Boost Your Digital Presence: Partner with a Leading SEO Agency"
 
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call GirlsMira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
Mira Road Housewife Call Girls 07506202331, Nalasopara Call Girls
 
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
APNIC Policy Roundup, presented by Sunny Chendi at the 5th ICANN APAC-TWNIC E...
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
Call girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girlsCall girls Service in Ajman 0505086370 Ajman call girls
Call girls Service in Ajman 0505086370 Ajman call girls
 
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...Local Call Girls in Seoni  9332606886 HOT & SEXY Models beautiful and charmin...
Local Call Girls in Seoni 9332606886 HOT & SEXY Models beautiful and charmin...
 
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
best call girls in Hyderabad Finest Escorts Service 📞 9352988975 📞 Available ...
 
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
一比一原版(Flinders毕业证书)弗林德斯大学毕业证原件一模一样
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
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
 
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
Tadepalligudem Escorts Service Girl ^ 9332606886, WhatsApp Anytime Tadepallig...
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 

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/