SlideShare ist ein Scribd-Unternehmen logo
1 von 59
Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit http://code.google.com/p/gerrit http://eclipse.org/egit + = Matthias Sohn (SAP) matthias.sohn@sap.com Twitter: @masohn
Agenda Git – einverteiltesVersionierungssystem Code Review mitGerrit Demo: 	Entwicklung mit Gerrit Code Review  neue Features in EGit Q & A    Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG
Die Hauptdarsteller GitisteinverteiltesVersionierungssystem EGitisteinEclipse Team Provider fürGit http://www.eclipse.org/egit/ JGitisteineleichtgewichtige Java-BibliothekfürGit http://www.eclipse.org/jgit/ Gerritistein Code-Review-System, basierend auf JGit  http://code.google.com/p/gerrit/ Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, SAP AG
Geschichte von Git, JGit und EGit 2005    LinusTorvaldsinitiiertGit 2006    Shawn Pearce initiiert JGit 2009    Eclipse entscheidetsichfürGit            JGit/EGit ziehen um nach eclipse.org	 SAP beteiligtsich JGit/EGit-ProjektebenutzenGerrit  3/2010 JGit/EGit Release 0.7 (erstes Release bei Eclipse)   6/2010 Release 0.8 (Helios) 9/2010 Release 0.9 (Helios SR1) 2010/11 Releases 0.10 – 0.12             3/2011 Eclipse Community Award: Most Innovative new feature 6/2011 Release 1.0 (Eclipse Indigo) Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
Git – einverteiltesVersionierungssystem    JederEntwicklerbesitzteinkomplettes Repository VerteilteVersionierungssysteme (DVCS): Git, Mercurial, Bazaar, … Git: 2005 für die Linux-Kernel-Entwicklung GitistimKommen:  ,[object Object]
Github
 Integration in Eclipse, Netbeans, XCodeEffiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG
Git – einverteiltesVersionierungssystem    Gitversioniert Repositories, nicht Files Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, Edwin Kempin, SAP AG
Git – einverteiltesVersionierungssystem    Gitversioniert Repositories, nicht Files: ,[object Object]
 Version ist global eindeutigüber Hash-Wert (SHA-1)1 Added File 1 Commit Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG
Git – einverteiltesVersionierungssystem    Gitversioniert Repositories, nicht Files Edited File 1 Added File 2 1 Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, Edwin Kempin, SAP AG
Git – einverteiltesVersionierungssystem    Gitversioniert Repositories, nicht Files Edited File 1 Added File 2 2 Commit 1 Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, Edwin Kempin, SAP AG
Git – einverteiltesVersionierungssystem    Branches: Zeiger auf Commits Edited File 1 Added File 2 2 master 1 Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG
Git – einverteiltesVersionierungssystem    Clonen: Duplizieren des Repositories clone Edited File 1 Added File 2 Edited File 1 Added File 2 2 2 master origin/ master 1 1 Added File 1 Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, Edwin Kempin, SAP AG
Git – einverteiltesVersionierungssystem    Arbeitenmitlokalen branches feature1 Edited File 1 Added File 2 2 origin/ master 1 Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, Edwin Kempin, SAP AG
Git – einverteiltesVersionierungssystem    Arbeitenmitlokalen branches feature1 Edited File 2 3 Edited File 1 Added File 2 2 origin/ master 1 Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG
Git – einverteiltesVersionierungssystem    Arbeitenmitlokalen branches push stefan feature1 3 3 Edited File 2 Edited File 2 Edited File 1 Added File 2 Edited File 1 Added File 2 2 2 origin/ master master 1 1 Added File 1 Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG
Git – einverteiltesVersionierungssystem    Wiekommtmein Commit in den zentralen master-branch? stefan feature1 3 3 Edited File 2 Edited File 2 Edited File 1 Added File 2 Edited File 1 Added File 2 2 2 origin/ master master 1 1 Added File 1 Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG
Git – einverteiltesVersionierungssystem    Wiekommtmein Commit in den zentralen master-branch? ,[object Object]
Integrationsmanager merged
Gerrit peer code reviewstefan feature1 3 3 Edited File 2 Edited File 2 Edited File 1 Added File 2 Edited File 1 Added File 2 2 2 origin/ master master 1 1 Added File 1 Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG
Neue* Features in Egit 1.0 Release 0.10 ,[object Object]
 Rebase
 Cherry-Pick
 Merge tool
 http Authentifizierung* seit 0.9 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
Neue* Features in Egit 1.0 Release 0.10 ,[object Object]
 Rebase
 Cherry-Pick
 Merge tool
 http AuthentifizierungRelease 0.11 ,[object Object]
 Push to / Fetch from Upstream
 Tree Compare
 Mylyn Integration* seit 0.9 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
Neue* Features in Egit 1.0 Release 0.10 ,[object Object]
 Rebase
 Cherry-Pick
 Merge tool
 http AuthentifizierungRelease 0.11 ,[object Object]
 Push to / Fetch from Upstream
 Tree Compare
 Mylyn IntegrationRelease 0.12 ,[object Object]
 Git config in preferences
 Gerrit Mylyn connector* seit 0.9 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
Neue* Features in Egit 1.0 Release 0.10 ,[object Object]
 Rebase
 Cherry-Pick
 Merge tool
 http AuthentifizierungRelease 0.11 ,[object Object]
 Push to / Fetch from Upstream
 Tree Compare
 Mylyn IntegrationRelease 0.12 ,[object Object]
 Git config in preferences
 Gerrit Mylyn connectorRelease 1.0 ,[object Object]
 Staging View
 Blame
 GitHub Mylyn connector* seit 0.9 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
EtwasStatistik Zwischen 0.9 und 1.0 ,[object Object]
 796 commits in JGitCommitter (Contributor): ,[object Object],Fixed Bugs ,[object Object],Indigo packages: ,[object Object],* seit 0.9 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG

Weitere ähnliche Inhalte

Ähnlich wie Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology Day Stuttgart 2011/06/08

Vortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development EnvironmentsVortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development EnvironmentsThorsten Kamann
 
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...Marc Müller
 
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloudGünzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloudAndreas Günzel
 
Einsatz von Git im Unternehmen
Einsatz von Git im UnternehmenEinsatz von Git im Unternehmen
Einsatz von Git im Unternehmenoose
 
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-CommunityGit & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-CommunitySteffen Gebert
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOpscusy GmbH
 
Testautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für FortgeschrittendeTestautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für FortgeschrittendeNico Orschel
 
Update TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTSUpdate TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTSCS2 AG
 
Vorstellung von CollabNet TeamForge 8.0 (German)
Vorstellung von CollabNet TeamForge 8.0 (German)Vorstellung von CollabNet TeamForge 8.0 (German)
Vorstellung von CollabNet TeamForge 8.0 (German)CollabNet
 
Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis
Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis
Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis Intland Software GmbH
 
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...Nico Orschel
 
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas HirtFMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas HirtVerein FM Konferenz
 
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-CommunityGit & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-CommunitySteffen Gebert
 
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software Intland Software GmbH
 
GitLab als alternative Entwicklungsplattform zu Github.com
GitLab als alternative Entwicklungsplattform zu Github.comGitLab als alternative Entwicklungsplattform zu Github.com
GitLab als alternative Entwicklungsplattform zu Github.comB1 Systems GmbH
 
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch SalzburgSlides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch SalzburgDNUG e.V.
 
DWX 2017 - GIT im Leben eines VS Entwicklers
DWX 2017 - GIT im Leben eines VS EntwicklersDWX 2017 - GIT im Leben eines VS Entwicklers
DWX 2017 - GIT im Leben eines VS EntwicklersMarc Müller
 
TFS 2012 What's new in ALM with Team Foundation Server Overview
TFS 2012 What's new in ALM with Team Foundation Server OverviewTFS 2012 What's new in ALM with Team Foundation Server Overview
TFS 2012 What's new in ALM with Team Foundation Server OverviewSven Hubert
 

Ähnlich wie Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology Day Stuttgart 2011/06/08 (20)

Vortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development EnvironmentsVortragsreihe Dortmund: Unified Development Environments
Vortragsreihe Dortmund: Unified Development Environments
 
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
BASTA Spring 2016 - Moderne Versionsverwaltung mit Git, und der neue Build-Se...
 
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloudGünzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
Günzel/Griesbaum -OpenShift und GitLab: Continuous delivery in der cloud
 
Einsatz von Git im Unternehmen
Einsatz von Git im UnternehmenEinsatz von Git im Unternehmen
Einsatz von Git im Unternehmen
 
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-CommunityGit & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
 
Quo vadis DevOps
Quo vadis DevOpsQuo vadis DevOps
Quo vadis DevOps
 
Testautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für FortgeschrittendeTestautomatisierung mit CodedUI für Fortgeschrittende
Testautomatisierung mit CodedUI für Fortgeschrittende
 
Update TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTSUpdate TYPO3 V4.5 > 6.2 LTS
Update TYPO3 V4.5 > 6.2 LTS
 
Vorstellung von CollabNet TeamForge 8.0 (German)
Vorstellung von CollabNet TeamForge 8.0 (German)Vorstellung von CollabNet TeamForge 8.0 (German)
Vorstellung von CollabNet TeamForge 8.0 (German)
 
Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis
Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis
Eclipse DVCS-Day: eGit, Git, Mercurial-Anwendungen in der Praxis
 
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
Testmanagement mit Visual Studio 2013 / CodedUI / Neues aus der Produktgruppe...
 
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas HirtFMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
FMK2015: Erste Schritte mit einem Codeversionierungssystem by Thomas Hirt
 
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-CommunityGit & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
Git & Gerrit: Verteilte Softwareentwicklung und -reviews in der TYPO3-Community
 
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
MediaInfo: Git DVCS & Requirements Management InfoDay@Intland Software
 
GitLab als alternative Entwicklungsplattform zu Github.com
GitLab als alternative Entwicklungsplattform zu Github.comGitLab als alternative Entwicklungsplattform zu Github.com
GitLab als alternative Entwicklungsplattform zu Github.com
 
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch SalzburgSlides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
Slides zum Impulsreferat: HCL UDP - DNUG Stammtisch Salzburg
 
Application lifecycle in ADF Projects
Application lifecycle in ADF ProjectsApplication lifecycle in ADF Projects
Application lifecycle in ADF Projects
 
DWX 2017 - GIT im Leben eines VS Entwicklers
DWX 2017 - GIT im Leben eines VS EntwicklersDWX 2017 - GIT im Leben eines VS Entwicklers
DWX 2017 - GIT im Leben eines VS Entwicklers
 
TFS 2012 What's new in ALM with Team Foundation Server Overview
TFS 2012 What's new in ALM with Team Foundation Server OverviewTFS 2012 What's new in ALM with Team Foundation Server Overview
TFS 2012 What's new in ALM with Team Foundation Server Overview
 
Advanced Continuous Integration
Advanced Continuous IntegrationAdvanced Continuous Integration
Advanced Continuous Integration
 

Mehr von msohn

Project Gardener - EclipseCon Europe - 2018-10-23
Project Gardener - EclipseCon Europe - 2018-10-23Project Gardener - EclipseCon Europe - 2018-10-23
Project Gardener - EclipseCon Europe - 2018-10-23msohn
 
News from Git in Eclipse - EclipseCon EU - 2016-10-26
News from Git in Eclipse - EclipseCon EU - 2016-10-26News from Git in Eclipse - EclipseCon EU - 2016-10-26
News from Git in Eclipse - EclipseCon EU - 2016-10-26msohn
 
Git journey from mars to neon EclipseCon North America - 2016-03-08
Git journey from mars to neon   EclipseCon North America - 2016-03-08Git journey from mars to neon   EclipseCon North America - 2016-03-08
Git journey from mars to neon EclipseCon North America - 2016-03-08msohn
 
Versioning large binary files with JGit, EGit and Gerrit
Versioning large binary files with JGit, EGit and GerritVersioning large binary files with JGit, EGit and Gerrit
Versioning large binary files with JGit, EGit and Gerritmsohn
 
News from Git in Eclipse - EclipseCon 2015 Europe
News from Git in Eclipse - EclipseCon 2015 EuropeNews from Git in Eclipse - EclipseCon 2015 Europe
News from Git in Eclipse - EclipseCon 2015 Europemsohn
 
Git missiontomars 2015-03-10
Git missiontomars 2015-03-10Git missiontomars 2015-03-10
Git missiontomars 2015-03-10msohn
 
News from EGit - Talk EclipseCon Europe 2014 - Ludwigsburg
News from EGit - Talk EclipseCon Europe 2014 - LudwigsburgNews from EGit - Talk EclipseCon Europe 2014 - Ludwigsburg
News from EGit - Talk EclipseCon Europe 2014 - Ludwigsburgmsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 9 - starting demo gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 9 - starting demo gerritGit Tutorial EclipseCon France 2014 - Gerrit Exercise 9 - starting demo gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 9 - starting demo gerritmsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreen
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreenGit Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreen
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreenmsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a changeGit Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a changemsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a changeGit Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a changemsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review changeGit Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review changemsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerritGit Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerritmsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest state
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest stateGit Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest state
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest statemsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerritGit Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerritmsohn
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...msohn
 
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blame
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blameGit Tutorial EclipseCon France 2014 - Git Exercise 07 - git blame
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blamemsohn
 
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebase
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebaseGit Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebase
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebasemsohn
 
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history view
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history viewGit Tutorial EclipseCon France 2014 - Git Exercise 05 - history view
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history viewmsohn
 
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...msohn
 

Mehr von msohn (20)

Project Gardener - EclipseCon Europe - 2018-10-23
Project Gardener - EclipseCon Europe - 2018-10-23Project Gardener - EclipseCon Europe - 2018-10-23
Project Gardener - EclipseCon Europe - 2018-10-23
 
News from Git in Eclipse - EclipseCon EU - 2016-10-26
News from Git in Eclipse - EclipseCon EU - 2016-10-26News from Git in Eclipse - EclipseCon EU - 2016-10-26
News from Git in Eclipse - EclipseCon EU - 2016-10-26
 
Git journey from mars to neon EclipseCon North America - 2016-03-08
Git journey from mars to neon   EclipseCon North America - 2016-03-08Git journey from mars to neon   EclipseCon North America - 2016-03-08
Git journey from mars to neon EclipseCon North America - 2016-03-08
 
Versioning large binary files with JGit, EGit and Gerrit
Versioning large binary files with JGit, EGit and GerritVersioning large binary files with JGit, EGit and Gerrit
Versioning large binary files with JGit, EGit and Gerrit
 
News from Git in Eclipse - EclipseCon 2015 Europe
News from Git in Eclipse - EclipseCon 2015 EuropeNews from Git in Eclipse - EclipseCon 2015 Europe
News from Git in Eclipse - EclipseCon 2015 Europe
 
Git missiontomars 2015-03-10
Git missiontomars 2015-03-10Git missiontomars 2015-03-10
Git missiontomars 2015-03-10
 
News from EGit - Talk EclipseCon Europe 2014 - Ludwigsburg
News from EGit - Talk EclipseCon Europe 2014 - LudwigsburgNews from EGit - Talk EclipseCon Europe 2014 - Ludwigsburg
News from EGit - Talk EclipseCon Europe 2014 - Ludwigsburg
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 9 - starting demo gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 9 - starting demo gerritGit Tutorial EclipseCon France 2014 - Gerrit Exercise 9 - starting demo gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 9 - starting demo gerrit
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreen
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreenGit Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreen
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 7 - new changescreen
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a changeGit Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 6 - submit a change
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a changeGit Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 5 - improve a change
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review changeGit Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review change
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 4 - review change
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerritGit Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 3 - push change to gerrit
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest state
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest stateGit Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest state
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 2 - fetch the latest state
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerritGit Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerrit
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 1 - configure for gerrit
 
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...
Git Tutorial EclipseCon France 2014 - Gerrit Exercise 8 - view gerrit review ...
 
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blame
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blameGit Tutorial EclipseCon France 2014 - Git Exercise 07 - git blame
Git Tutorial EclipseCon France 2014 - Git Exercise 07 - git blame
 
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebase
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebaseGit Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebase
Git Tutorial EclipseCon France 2014 - Git Exercise 06 - interactive rebase
 
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history view
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history viewGit Tutorial EclipseCon France 2014 - Git Exercise 05 - history view
Git Tutorial EclipseCon France 2014 - Git Exercise 05 - history view
 
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...
Git Tutorial EclipseCon France 2014 - Git Exercise 04 - merging rebasing and ...
 

Effiziente Entwicklungsprozesse mit Git, EGit und Gerrit - Intland Technology Day Stuttgart 2011/06/08

  • 1. Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit http://code.google.com/p/gerrit http://eclipse.org/egit + = Matthias Sohn (SAP) matthias.sohn@sap.com Twitter: @masohn
  • 2. Agenda Git – einverteiltesVersionierungssystem Code Review mitGerrit Demo: Entwicklung mit Gerrit Code Review neue Features in EGit Q & A    Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG
  • 3. Die Hauptdarsteller GitisteinverteiltesVersionierungssystem EGitisteinEclipse Team Provider fürGit http://www.eclipse.org/egit/ JGitisteineleichtgewichtige Java-BibliothekfürGit http://www.eclipse.org/jgit/ Gerritistein Code-Review-System, basierend auf JGit http://code.google.com/p/gerrit/ Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, SAP AG
  • 4. Geschichte von Git, JGit und EGit 2005    LinusTorvaldsinitiiertGit 2006    Shawn Pearce initiiert JGit 2009    Eclipse entscheidetsichfürGit JGit/EGit ziehen um nach eclipse.org SAP beteiligtsich JGit/EGit-ProjektebenutzenGerrit  3/2010 JGit/EGit Release 0.7 (erstes Release bei Eclipse)   6/2010 Release 0.8 (Helios) 9/2010 Release 0.9 (Helios SR1) 2010/11 Releases 0.10 – 0.12            3/2011 Eclipse Community Award: Most Innovative new feature 6/2011 Release 1.0 (Eclipse Indigo) Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
  • 5.
  • 7. Integration in Eclipse, Netbeans, XCodeEffiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG
  • 8. Git – einverteiltesVersionierungssystem    Gitversioniert Repositories, nicht Files Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, Edwin Kempin, SAP AG
  • 9.
  • 10. Version ist global eindeutigüber Hash-Wert (SHA-1)1 Added File 1 Commit Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG
  • 11. Git – einverteiltesVersionierungssystem    Gitversioniert Repositories, nicht Files Edited File 1 Added File 2 1 Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, Edwin Kempin, SAP AG
  • 12. Git – einverteiltesVersionierungssystem    Gitversioniert Repositories, nicht Files Edited File 1 Added File 2 2 Commit 1 Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, Edwin Kempin, SAP AG
  • 13. Git – einverteiltesVersionierungssystem    Branches: Zeiger auf Commits Edited File 1 Added File 2 2 master 1 Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG
  • 14. Git – einverteiltesVersionierungssystem    Clonen: Duplizieren des Repositories clone Edited File 1 Added File 2 Edited File 1 Added File 2 2 2 master origin/ master 1 1 Added File 1 Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, Edwin Kempin, SAP AG
  • 15. Git – einverteiltesVersionierungssystem    Arbeitenmitlokalen branches feature1 Edited File 1 Added File 2 2 origin/ master 1 Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, Edwin Kempin, SAP AG
  • 16. Git – einverteiltesVersionierungssystem    Arbeitenmitlokalen branches feature1 Edited File 2 3 Edited File 1 Added File 2 2 origin/ master 1 Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG
  • 17. Git – einverteiltesVersionierungssystem    Arbeitenmitlokalen branches push stefan feature1 3 3 Edited File 2 Edited File 2 Edited File 1 Added File 2 Edited File 1 Added File 2 2 2 origin/ master master 1 1 Added File 1 Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG
  • 18. Git – einverteiltesVersionierungssystem    Wiekommtmein Commit in den zentralen master-branch? stefan feature1 3 3 Edited File 2 Edited File 2 Edited File 1 Added File 2 Edited File 1 Added File 2 2 2 origin/ master master 1 1 Added File 1 Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG
  • 19.
  • 21. Gerrit peer code reviewstefan feature1 3 3 Edited File 2 Edited File 2 Edited File 1 Added File 2 Edited File 1 Added File 2 2 2 origin/ master master 1 1 Added File 1 Added File 1 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2011 by Stefan Lay, Edwin Kempin, SAP AG
  • 22.
  • 26. http Authentifizierung* seit 0.9 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
  • 27.
  • 31.
  • 32. Push to / Fetch from Upstream
  • 34. Mylyn Integration* seit 0.9 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
  • 35.
  • 39.
  • 40. Push to / Fetch from Upstream
  • 42.
  • 43. Git config in preferences
  • 44. Gerrit Mylyn connector* seit 0.9 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
  • 45.
  • 49.
  • 50. Push to / Fetch from Upstream
  • 52.
  • 53. Git config in preferences
  • 54.
  • 57. GitHub Mylyn connector* seit 0.9 Effiziente Entwicklungsprozesse mit Eclipse, Git und Gerrit | © 2010 by Stefan Lay, SAP AG
  • 58.
  • 59.
  • 60. Gerrit ? Code Review | © 2010 by M. Sohn
  • 61. Gerrit Server, der die zentralenGit Repositories verwaltet Gerrit Code Review | © 2010 by M. Sohn
  • 62. Gerrit Access Control Gerrit Code Review | © 2010 by M. Sohn
  • 63. Gerrit Access Control Gerrit Code Review | © 2010 by M. Sohn
  • 64. Gerrit Access Control Gerrit Code Review | © 2010 by M. Sohn
  • 65. Gerrit Access Control Gerrit Code Review | © 2010 by M. Sohn
  • 66. Gerrit Code Review Gerrit Code Review | © 2010 by M. Sohn
  • 67. Gerrit Code Review Gerrit Code Review | © 2010 by M. Sohn
  • 68. Gerrit Code Review Gerrit Code Review | © 2010 by M. Sohn
  • 69. Gerrit Code Review Gerrit Code Review | © 2010 by M. Sohn
  • 70. Code Review – Vorteile Guido van Rossum [1] [1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf Code Review | © 2010 by M. Sohn
  • 71. Code Review – Vorteile Guido van Rossum [1] VierAugenfindenmehr Bugs [1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf Code Review | © 2010 by M. Sohn
  • 72. Code Review – Vorteile Guido van Rossum [1] VierAugenfindenmehr Bugs Einhaltung von Coding Standards [1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf Code Review | © 2010 by M. Sohn
  • 73. Code Review – Vorteile Guido van Rossum [1] VierAugenfindenmehr Bugs Einhaltung von Coding Standards Mentoring von neuenEntwicklern [1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf Code Review | © 2010 by M. Sohn
  • 74. Code Review – Vorteile Guido van Rossum [1] VierAugenfindenmehr Bugs Einhaltung von Coding Standards Mentoring von neuenEntwicklern Etablierung von Vertrauensverhältnissen [1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf Code Review | © 2010 by M. Sohn
  • 75. Code Review – Vorteile Guido van Rossum [1] VierAugenfindenmehr Bugs Einhaltung von Coding Standards Mentoring von neuenEntwicklern Etablierung von Vertrauensverhältnissen Gute Alternative zuPair Programming [1] http://code.google.com/p/rietveld/downloads/detail?name=Mondrian2006.pdf Code Review | © 2010 by M. Sohn
  • 76. Gerrit git git git git - verify proposed changes - continuous integration builds - clone repository - fetch / push changes Developer PC Developer PC Hudson git git Copyright © M. Sohn, S. Lay, S. Zivkov, C. Halstrick, C. Aniszczyk, S. Pearce
  • 77. Gerrit git git git git master change 12 submit accepted change 12 change 10 change 23 fetch change 23 to try it push improved change 10 fetch master to get updates Developer PC Developer PC git git git git Copyright © M. Sohn, S. Lay, S. Zivkov, C. Halstrick, C. Aniszczyk, S. Pearce
  • 78. Gerrit - Workflow Code Review | © 2010 by M. Sohn
  • 79. Gerrit http://egit.eclipse.org/r/ - change,825 Code Review | © 2010 by M. Sohn
  • 80. Gerrit Was istsonstnochwissenswert? Code Review | © 2010 by M. Sohn
  • 81. Gerrit Gerrit = 4. Generation Code Review @ Google Code Review | © 2010 by M. Sohn
  • 82. Gerrit Gerrit = 4. Generation Code Review @ Google Open Source mit Apache 2 Lizenz Code Review | © 2010 by M. Sohn
  • 83. Gerrit Gerrit = 4. Generation Code Review @ Google Open Source mit Apache 2 Lizenz Gerritbasiert auf JGit und GWT Code Review | © 2010 by M. Sohn
  • 84. Gerrit Gerrit = 4. Generation Code Review @ Google Open Source mit Apache 2 Lizenz Gerritbasiert auf JGit und GWT Storage: JGit & DB Code Review | © 2010 by M. Sohn
  • 85. Gerrit Gerrit = 4. Generation Code Review @ Google Open Source mit Apache 2 Lizenz Gerritbasiert auf JGit und GWT Storage: JGit & DB wird ersetzt durch JGit only (erster Teil mit Gerrit 2.2) optional: JGit on distributed hashtable (HBase) -> scalable Gerrit on the Cloud Code Review | © 2010 by M. Sohn
  • 86. Gerrit Gerrit = 4. Generation Code Review @ Google Open Source mit Apache 2 Lizenz Gerritbasiert auf JGit und GWT Storage: JGit & DB wird ersetzt durch JGit only (erster Teil mit Gerrit 2.2) optional: JGit on distributed hashtable (HBase) -> scalable Gerrit on the Cloud demnächst: Prolog rule engine für konfigurierbare Workflows Web app -> OSGi app for pluggable functionality Code Review | © 2010 by M. Sohn
  • 87.
  • 90. demnächst Eclipse …Code Review | © 2010 by M. Sohn
  • 91. No Free Lunch ? -- DEMO Code Review | © 2010 by M. Sohn
  • 92. Code Review – Our Experience Review all changes! Review takes time (1 day … weeks)  Implies parallel workflow  Every team member should do reviews regularly Authors have to wait for the review to happen Git & Gerrit help a lot here Code Review | © 2010 by M. Sohn
  • 93. Code Review – Tips Small changes are much easier to review A change should logically do one thing (not many) No change shall break build or tests Split big changes into series of digestible changes (patch series) - These changes depend on each other - Last change should switch the new feature on Commit message should explain Why - The What should be obvious from the code change Code Review | © 2010 by M. Sohn
  • 94. Conclusion Code Review rocks ! Gerrit enables a nice code review workflow DVCS like Git are powerful Git supports convenient branching and merging Gitis very fast and scales well Code Review | © 2010 by M. Sohn
  • 95. Gerrit Code Review Gerrit developed at http://code.google.com/p/gerrit https://review.source.android.com/Gerrit for Android projects (also Gerrit) Code Review | © 2010 by M. Sohn
  • 96. Git at Eclipse EGit/JGit developed at http://egit.eclipse.org http://git.eclipse.org/hosts live Eclipse Git repos Virgo, Mylyn Review, ScalaModules, SWTBot … http://dev.eclipse.org/git/index.html git mirrors for CVS Read-only copies kept up-to-date Can clone with git:// or http:// Code Review | © 2010 by M. Sohn
  • 97. git-add git-format-patch git-shortlog git-relink git-rev-parse git-am git-gc git-show git-remote git-show-branch git-archive git-grep git-stash git-repack git-verify-tag git-bisect git-init git-status git-replace git-whatchanged git-branch git-log git-submodule git-annotate git-bundle git-merge * git-tag git-blame git-checkout git-mv git-config git-cherry .gitignore git-cherry-pick git-notes git-fast-export git-count-objects git daemon git-clean git-pull git-fast-import git-difftool HTTP support git-clone git-push git-filter-branch git-fsck Mylynintegration git-commit git-rebase git-mergetool git-get-tar-commit-id Staging View git-describe git-reset git-pack-refs git-help * Synchronize View git-diff git-revert git-prune git-merge-tree History View git-fetch git-rm git-reflog git-rerere Repositories View Features EGit 1.0 * planned for next release, supported, partial, missing, irrelevant for EGit
  • 98. Git Resources Ask questions on the EGit forum or egit-dev/jgit-dev lists http://git-scm.com/documentation is your friend If you want comedy, watch Linus' talk at Google http://www.youtube.com/watch?v=4XpnKHJAok8 Read the Pro Git book - http://progit.org/book/ Code Review | © 2010 by M. Sohn
  • 99. Gerrit Code Review - Outlook MylynGerrit Connector in incubation Port from SQL DB to HBase Git Store: Store review comments as git notes for offline review Support for change dependencies across repositories … Code Review | © 2010 by M. Sohn
  • 100. Gerrit – Rebase Code Review | © 2010 by M. Sohn