SlideShare a Scribd company logo
1 of 28
Download to read offline
GoBack
Seite 1
Verteilte Versionsverwaltung
                  mit git
          als Ergänzung oder Ersatz für klassische Systeme wie Subversion


                           Jan Dittberner <jan.dittberner@communardo.de>

                                                                        29.09.2009



⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 2
Verteilte
Versionsverwaltung
Historie
Vorteile
Nachteile

Git

Git praktisch

Diskussion/Fragen                                   Verteilte Versionsverwaltung




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 3
Historie - lokale Versionkontrolle

Verteilte
Versionsverwaltung                s    Verzeichniskopien
Historie
Vorteile
Nachteile
                                  s    RCS, SCCS
Git
                                  s    Microsoft VSS (über Fileshares netzfähig)
Git praktisch

Diskussion/Fragen




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 4
Historie - zentrale Systeme

Verteilte
Versionsverwaltung                s    CVS (basiert auf RCS)
Historie
Vorteile
Nachteile                         s    Subversion (SVN)
Git
                                  s    diverse andere (Perforce, CM-Synergy)
Git praktisch

Diskussion/Fragen




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 5
Historie - dezentrale Systeme

Verteilte
Versionsverwaltung                s    BitKeeper
Historie
Vorteile
Nachteile
                                  s    Mercurial (hg)
Git
                                  s    Bazaar (bzr)
Git praktisch

Diskussion/Fragen                 s    Git

                                  s    Darcs




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 6
Vorteile dezentraler SCM-Systeme

Verteilte
Versionsverwaltung                s    komplette lokale Historie
Historie
Vorteile
Nachteile
                                  s    Möglichkeit zur Offline-Arbeit
Git
                                  s    sehr schnell (Diff, Log, etc.)
Git praktisch

Diskussion/Fragen                 s    verschiedene Workflows möglich

                                  s    lokale Tests (z.B. für Featurebranches) beeinflussen
                                       andere Entwickler nicht

                                  s    durch hohe Geschwindigkeit häufig kleinere Commits
                                       (bessere Nachvollziehbarkeit von Änderungen)

                                  s    robustere Merging-Mechanismen



⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 7
Nachteile dezentraler SCM-Systeme

Verteilte
Versionsverwaltung                s    keine zentrale Kontrolle
Historie
Vorteile
Nachteile
                                  s    Umgang muss erlernt werden (Nachteil?)
Git

Git praktisch

Diskussion/Fragen




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 8
Verteilte
Versionsverwaltung

Git
Herkunft und
Verbreitung
Warum Git?
Verfügbarkeit
Toolunterstützung

Git praktisch                                                                                  Git
Diskussion/Fragen




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 9
Herkunft und Verbreitung

Verteilte
Versionsverwaltung                s    Ursprünglich von Linus Torvalds für die Entwicklung des
Git                                    Linux-Kernels als Ersatz für das kommerzielle Bitkeeper
Herkunft und
Verbreitung                            entwickelt.
Warum Git?
Verfügbarkeit
Toolunterstützung
                                  s    Einsatz inzwischen in vielen kleineren und auch extrem
Git praktisch                          großen Projekten: Linux Kernel, Wine, Perl, GNOME,
Diskussion/Fragen                      Qt, Ruby on Rails, Android, Fedora, Debian, X.org, VLC

                                  s    wird inzwischen von einigen OpenSource-Hostern
                                       angeboten. SourceForge [3] und Github [4] sind die
                                       bekanntesten.




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 10
Warum Git?

Verteilte
Versionsverwaltung
                                  s    Umfangreiche Projektseite [1] und Dokumentation [2].
Git
Herkunft und                      s    vollständige Dokumentation aller Unterbefehle
Verbreitung
Warum Git?                                   Ø          ÐÔ        ×Ù         ÓÑÑ Ò
Verfügbarkeit
Toolunterstützung

Git praktisch                     s    leichtgewichtige lokale Branches
Diskussion/Fragen
                                  s    sehr schnell

                                  s    sehr kompakte lokale Repositories (teilweise kleiner als
                                       SVN-Checkout einer einzelnen Version)

                                  s    erlaubt lokales Staging von Änderungen

                                  s    unterstützt praktisch beliebige Workflows

                                  s    siehe auch ØØÔ »»                                  ºÛ Ý Ø × ØØ ÖØ Òܺ ÓÑ»
⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 11
Verfügbarkeit

Verteilte
Versionsverwaltung
                            Verfügbarkeit:
Git
Herkunft und                      s    Download von der Git Projektseite [1]
Verbreitung
Warum Git?
Verfügbarkeit
                                  s    Debian
Toolunterstützung
                                          ÔØ ØÙ                   Ò×Ø ÐÐ                  Ø ¹ ÓÖ
Git praktisch

Diskussion/Fragen
                                  s    Windows

                                            x Cygwin ØØÔ »»ÛÛÛº Ý Û Òº ÓÑ»
                                            x msysGit ØØÔ »» Ó                                 º ÓÓ Ð º ÓѻԻÑ×Ý× Ø»




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 12
Toolunterstützung

Verteilte
Versionsverwaltung
                                  s    TortoiseGit – Explorer-Erweiterung ähnlich TortoiseSVN
Git                                     ØØÔ »» Ó º ÓÓ Ð º ÓѻԻØÓÖØÓ × Ø»
Herkunft und
Verbreitung
Warum Git?
                                  s    eGit – Eclipse Git Team Provider
Verfügbarkeit                           ØØÔ »» غÓÖº Þ» ØÛ » Ð Ô× ÈÐÙ                                      Ò
Toolunterstützung

Git praktisch                     s    ggit (Gnome), gitk (Tcl/Tk), gitx (MacOS X) als
Diskussion/Fragen                      Repository-Browser

                                  s    viele weitere:
                                        ØØÔ »» غÓÖº Þ»                                   ØÛ   »ÁÒØ Ö   × ÖÓÒØ Ò × Ò ÌÓÓÐ×




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 13
Verteilte
Versionsverwaltung

Git

Git praktisch
Start mit Git
Repositories klonen
Branches
Merge
Tags
                                                                             Git praktisch
Umgang mit History
Patches
SVN-Integration
Trac-Integration
weitere
Integrationen
Referenzen

Diskussion/Fragen




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 14
Einrichtung, Erzeugen eines Repositories

Verteilte
Versionsverwaltung
                            Git für lokale Entwicklung einrichten:
Git                              Ø       ÓÒ            ¹¹ ÐÓ Ð Ù× Ö º Ò Ñ   Â Ò                        ØØ   ÖÒ Ö
Git praktisch                    Ø       ÓÒ            ¹¹ ÐÓ Ð Ù× Ö º Ñ Ð
Start mit Git                            Òº          ØØ ÖÒ Ö ÓÑÑÙÒ Ö Ó º
Repositories klonen              Ø       ÓÒ            ¹¹ ÐÓ Ð Ù× Ö º × Ò Ò     Ý                      ¼Ü
Branches
Merge
Tags
                            Repository anlegen in einem beliebigen Verzeichnis:
Umgang mit History
                                 Ø       Ò Ø
Patches
SVN-Integration
Trac-Integration
                            Dateien hinzufügen und einchecken
weitere
Integrationen                    Ø               º
Referenzen                       Ø       ÓÑÑ Ø ¹Ñ                   Ñ       Ò       Ö×Ø Ö      ÓÑÑ Ø
Diskussion/Fragen




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 15
Repositories klonen

Verteilte
Versionsverwaltung
                            Repository über SSH klonen, damit wird die Verbindung zum
Git                         Remote-Repository als Quelle vermerkt.
Git praktisch                    Ø       ÐÓÒ           ××        »» Ù× Ö              Ó×Ø » Ö ÔÓ   Ö » ÔÖÓ   غ   Ø
Start mit Git
Repositories klonen         Zum Klonen erlaubt git verschiedene Mechanismen: ssh,
Branches
Merge                       git-eigenes Protokoll, rsync, http, https, Dateipfade. Bei http
Tags
                            und https ist nur ein lesender Zugriff möglich
Umgang mit History
Patches                     Folgendes Kommando holt neue Änderungen vom
SVN-Integration
Trac-Integration
                            Remote-Repository in ein lokales Repository:
weitere
Integrationen
                                 Ø ÔÙÐÐ
Referenzen

Diskussion/Fragen




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 16
Arbeiten mit Branches

Verteilte
Versionsverwaltung
                            Branches und Tags sind bei git anders als z.B. bei Subversion
Git                         nicht einfach Kopien eines Arbeitsstandes.
Git praktisch               Branch erstellen:
Start mit Git
Repositories klonen
                                 Ø       Ö Ò                   Ö Ò          Ò Ñ
Branches
Merge                       Branch erstellen und auschecken:
Tags
Umgang mit History               Ø                  ÓÙØ ¹                   Ö Ò          Ò Ñ
Patches
SVN-Integration             Branches auflisten:
Trac-Integration
weitere                          Ø       Ö Ò
Integrationen
Referenzen

Diskussion/Fragen




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 17
Mergen von Änderungen, Aktualisierungen von
Branches

                            Änderungen aus einem Branch in den Hauptzweig Ñ ×Ø Ö
Verteilte
Versionsverwaltung

Git                         (entspricht ØÖÙÒ bei SVN) übernehmen:
Git praktisch                    Ø                   ÓÙØ Ñ ×Ø Ö
Start mit Git
Repositories klonen
                                 Ø Ñ Ö                  Ö Ò
Branches
Merge                       Um einen Branch, der z.B. für ein Feature angelegt wurde auf
Tags                        den aktuellen Stand des Ñ ×Ø Ö-Branches zu bringen:
Umgang mit History
Patches                          Ø                ÓÙØ  Ö Ò
SVN-Integration
                                 Ø Ö             × Ñ ×Ø Ö
Trac-Integration
weitere
Integrationen               Bei vielen lokalen Commits kann es sinnvoll sein, diese
Referenzen
                            zusammenzuführen. Die letzten 3 Commits können z.B. so
Diskussion/Fragen
                            zusammengeführt werden:
                                 Ø Ö             ×       ¹       À            ¿



⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 18
Tags

Verteilte
Versionsverwaltung
                            Ein Tag ist ein symbolischer Name für einen bestimmten
Git                         Zustand eines Branches, also einen Commit. Tags können
Git praktisch               mit einer PGP-Signatur versehen werden.
Start mit Git               Tag erstellen mit Signatur:
Repositories klonen
Branches                         Ø Ø             ¹× Ö Ð               ×       ½ º½
Merge
Tags
Umgang mit History
Patches
SVN-Integration
Trac-Integration
weitere
Integrationen
Referenzen

Diskussion/Fragen




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 19
Umgang mit History

Verteilte
Versionsverwaltung
                            Letzte Versionen anzeigen lassen:
Git                              Ø ÐÓ
Git praktisch
Start mit Git               Unterschiede zum letzten commiteten Stand anzeigen
Repositories klonen         lassen:
Branches
Merge                            Ø
Tags
Umgang mit History
Patches
                            Besonders gut lässt sich die Versionshistorie z.B. mit
SVN-Integration             gitk/gitg/gitx visualisieren.
Trac-Integration
weitere
Integrationen
Referenzen

Diskussion/Fragen




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 20
Patches

Verteilte
Versionsverwaltung
                                  s    bei vielen OpenSource-Projekten werden Bugfixes in
Git                                    Form von Patches weitergegeben und ggf. in das
Git praktisch                          Hauptrepository übernommen
Start mit Git
Repositories klonen               s    Git unterstützt dies mit den ÓÖÑ Ø¹Ô Ø                  und Ñ
Branches
Merge                                  Unterkommandos
Tags
Umgang mit History
Patches                     Patches für die letzten 3 Änderungen erzeugen:
SVN-Integration
Trac-Integration
                                 Ø       ÓÖÑ Ø ¹ Ô Ø                     À             ¿ºº À
weitere
Integrationen
Referenzen

Diskussion/Fragen




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 21
SVN-Integration

Verteilte
Versionsverwaltung
                                  s    SVN-Repositories lassen sich über das Subkommando
Git                                    ×ÚÒ von Git nutzen1
Git praktisch
Start mit Git                     s    Vorteile: lokale Version der kompletten Historie, offline
Repositories klonen                    arbeiten möglich, schnelle Diffs
Branches
Merge
Tags                        SVN-Repository klonen:
Umgang mit History
Patches                          Ø ×ÚÒ              ÐÓÒ          ¹×         Ö ÔÓÙÖÐ            Ô
SVN-Integration
Trac-Integration            Updates von SVN-Repository holen:
weitere
Integrationen
                                 Ø ×ÚÒ                Ø
Referenzen

Diskussion/Fragen           Änderungen ins SVN übertragen:
                                 Ø ×ÚÒ                 ÓÑÑ Ø

                                 1
                                     funktioniert unter Windows noch eher schlecht

⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 22
Trac-Integration

Verteilte
Versionsverwaltung                s    das GitPlugin [5] für Trac erlaubt Git- statt
Git                                    SVN-Repositories
Git praktisch
Start mit Git                     s    über pre-receive und post-receive-Hooks [6] kann ein
Repositories klonen
Branches                               Git-Repository mit einer Trac-Installation interagieren
Merge                                  und z.B. Tickets schließen oder Kommentare zu diesen
Tags
Umgang mit History                     hinzufügen
Patches
SVN-Integration
Trac-Integration
weitere
Integrationen
Referenzen

Diskussion/Fragen




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 23
weitere Integrationen

Verteilte
Versionsverwaltung                s    Maven ØØÔ »»Ñ Ú Òº Ô                                       ºÓÖ »× Ñ» غ ØÑÐ
Git

Git praktisch                     s    JIRA
Start mit Git                           ØØÔ »» ÓÒ ÐÙ Ò                               º ØÐ ×× Òº ÓÑ» ×ÔÐ Ý»ÂÁÊ        ̻ Ö
Repositories klonen
Branches
Merge                             s    Hudson
Tags                                    ØØÔ »»Û                      º Ù ×ÓÒ¹                  ºÓÖ » ×ÔÐ Ý»ÀÍ ËÇÆ» Ø·ÈÐÙ Ò
Umgang mit History
Patches
SVN-Integration
Trac-Integration
weitere
Integrationen
Referenzen

Diskussion/Fragen




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 24
Referenzen

Verteilte
Versionsverwaltung          [1] ØØÔ »»ÛÛÛº                            Ø¹× Ñº ÓÑ»
Git

Git praktisch               [2] ØØÔ »»ÛÛÛº                            Ø¹× Ñº ÓÑ» Ó ÙÑ ÒØ Ø ÓÒ
Start mit Git
Repositories klonen         [3] SourceForge Git Hosting
Branches
Merge
Tags                        [4] ØØÔ »»                      Ø Ù º ÓÑ»
Umgang mit History
Patches                     [5] ØØÔ »»ØÖ                         ¹             ׺ÓÖ »Û         » ØÈÐÙ Ò
SVN-Integration
Trac-Integration
weitere                     [6] Commithooks von John Goerzen
Integrationen
Referenzen

Diskussion/Fragen




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 25
Verteilte
Versionsverwaltung
                            Vielen Dank für Eure Aufmerksamkeit.
Git                         Gibt es Fragen?
Git praktisch

Diskussion/Fragen




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 26
Kontakt

Verteilte
Versionsverwaltung
                            Jan Dittberner
Git
                            Software Architekt und Debian Developer
Git praktisch
                            Communardo Software GmbH
Diskussion/Fragen
                            Kleistraße 10a
                            D-01129 Dresden
                            jan.dittberner@communardo.de




⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de
c


Seite 27

More Related Content

Viewers also liked

The development workflow of git github for beginners
The development workflow of git github for beginnersThe development workflow of git github for beginners
The development workflow of git github for beginnersGunjan Patel
 
git - eine praktische Einführung
git - eine praktische Einführunggit - eine praktische Einführung
git - eine praktische EinführungMarcel Eichner
 
Git workflow step by step
Git workflow step by stepGit workflow step by step
Git workflow step by stepBinh Quan Duc
 
Git and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software DevelopmentGit and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software DevelopmentLemi Orhan Ergin
 
Einführung in Git - GameCamp Munich 2011
Einführung in Git - GameCamp Munich 2011Einführung in Git - GameCamp Munich 2011
Einführung in Git - GameCamp Munich 2011renebruns
 
Git vs SVN - Eine vergleichende Einführung
Git vs SVN - Eine vergleichende EinführungGit vs SVN - Eine vergleichende Einführung
Git vs SVN - Eine vergleichende EinführungMario Müller
 
Subversion -> SVK -> Git
Subversion -> SVK -> GitSubversion -> SVK -> Git
Subversion -> SVK -> GitKota Sakoda
 
Versionierung mit Git und SourceTree
Versionierung mit Git und SourceTreeVersionierung mit Git und SourceTree
Versionierung mit Git und SourceTreelucas_jahn
 
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
 
FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas HirtFMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas HirtVerein FM Konferenz
 

Viewers also liked (14)

The development workflow of git github for beginners
The development workflow of git github for beginnersThe development workflow of git github for beginners
The development workflow of git github for beginners
 
git - eine praktische Einführung
git - eine praktische Einführunggit - eine praktische Einführung
git - eine praktische Einführung
 
Git workflow step by step
Git workflow step by stepGit workflow step by step
Git workflow step by step
 
GIT / SVN
GIT / SVNGIT / SVN
GIT / SVN
 
Ultimate Git Workflow - Seoul 2015
Ultimate Git Workflow - Seoul 2015Ultimate Git Workflow - Seoul 2015
Ultimate Git Workflow - Seoul 2015
 
Git and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software DevelopmentGit and Git Workflow Models as Catalysts of Software Development
Git and Git Workflow Models as Catalysts of Software Development
 
Einführung in Git - GameCamp Munich 2011
Einführung in Git - GameCamp Munich 2011Einführung in Git - GameCamp Munich 2011
Einführung in Git - GameCamp Munich 2011
 
Git vs SVN - Eine vergleichende Einführung
Git vs SVN - Eine vergleichende EinführungGit vs SVN - Eine vergleichende Einführung
Git vs SVN - Eine vergleichende Einführung
 
Subversion -> SVK -> Git
Subversion -> SVK -> GitSubversion -> SVK -> Git
Subversion -> SVK -> Git
 
Git Grundlagen
Git GrundlagenGit Grundlagen
Git Grundlagen
 
git Vorstellung
git Vorstellunggit Vorstellung
git Vorstellung
 
Versionierung mit Git und SourceTree
Versionierung mit Git und SourceTreeVersionierung mit Git und SourceTree
Versionierung mit Git und SourceTree
 
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
 
FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas HirtFMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
FMK2015: Einführung in Codeversionierungssysteme by Thomas Hirt
 

Similar to Verteilte Versionskontrolle mit Git

Eclipse, Git und Gerrit
Eclipse, Git und GerritEclipse, Git und Gerrit
Eclipse, Git und GerritStefan Lay
 
digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...
digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...
digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...digitalSTROM.org
 
Enterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanEnterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanCollabNet
 
Django trifft Flutter
Django trifft FlutterDjango trifft Flutter
Django trifft Flutterroskakori
 
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
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHagilemethoden
 
Maemo 5 Developer Workshop @ Metalab
Maemo 5 Developer Workshop @ MetalabMaemo 5 Developer Workshop @ Metalab
Maemo 5 Developer Workshop @ Metalabthp4
 
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...Marc Müller
 
Versionierung mit GIT
Versionierung mit GITVersionierung mit GIT
Versionierung mit GITgedoplan
 
Groupware Linuxtag 2008 Cb
Groupware Linuxtag 2008 CbGroupware Linuxtag 2008 Cb
Groupware Linuxtag 2008 Cbbofh42
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & ToolsUlrich Krause
 
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
 
Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?
Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?
Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?Communote GmbH
 
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]Tommy Ziegler
 
Dnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionDnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionOliver Busse
 
Azure Days 2019: Master the Move to Azure (Konrad Brunner)
Azure Days 2019: Master the Move to Azure (Konrad Brunner)Azure Days 2019: Master the Move to Azure (Konrad Brunner)
Azure Days 2019: Master the Move to Azure (Konrad Brunner)Trivadis
 

Similar to Verteilte Versionskontrolle mit Git (20)

Eclipse, Git und Gerrit
Eclipse, Git und GerritEclipse, Git und Gerrit
Eclipse, Git und Gerrit
 
digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...
digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...
digitalSTROM Developer Day 2011: Jump Start in die digitalSTROM-Server Entwic...
 
TDD für Testmuffel
TDD für TestmuffelTDD für Testmuffel
TDD für Testmuffel
 
Enterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - GermanEnterprise Git Adoption Webinar - German
Enterprise Git Adoption Webinar - German
 
Django trifft Flutter
Django trifft FlutterDjango trifft Flutter
Django trifft Flutter
 
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...
 
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbHDocker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
Docker Workshop Experten Forum Stuttgart 2015, Agile Methoden GmbH
 
Werkzeugkasten
WerkzeugkastenWerkzeugkasten
Werkzeugkasten
 
Maemo 5 Developer Workshop @ Metalab
Maemo 5 Developer Workshop @ MetalabMaemo 5 Developer Workshop @ Metalab
Maemo 5 Developer Workshop @ Metalab
 
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
TechDays 2016 - Der DevOps Kreislauf – Moderne Source Code Verwaltung und Pac...
 
Versionierung mit GIT
Versionierung mit GITVersionierung mit GIT
Versionierung mit GIT
 
Groupware Linuxtag 2008 Cb
Groupware Linuxtag 2008 CbGroupware Linuxtag 2008 Cb
Groupware Linuxtag 2008 Cb
 
Version management mit Git und Github
Version management mit Git und Github Version management mit Git und Github
Version management mit Git und Github
 
Templates, Code & Tools
Templates, Code & ToolsTemplates, Code & Tools
Templates, Code & Tools
 
Versionskontrolle mit Git
Versionskontrolle mit GitVersionskontrolle mit Git
Versionskontrolle mit Git
 
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
 
Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?
Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?
Webcast: Quo vadis Communote – in die Cloud oder hinter die Firewall?
 
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]Übersicht und Beratung von Versionsverwaltungen  für Quellcode (SCM) [2014]
Übersicht und Beratung von Versionsverwaltungen für Quellcode (SCM) [2014]
 
Dnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsessionDnug 112014 modernization_openn_ntf_ersatzsession
Dnug 112014 modernization_openn_ntf_ersatzsession
 
Azure Days 2019: Master the Move to Azure (Konrad Brunner)
Azure Days 2019: Master the Move to Azure (Konrad Brunner)Azure Days 2019: Master the Move to Azure (Konrad Brunner)
Azure Days 2019: Master the Move to Azure (Konrad Brunner)
 

Verteilte Versionskontrolle mit Git

  • 3. Verteilte Versionsverwaltung mit git als Ergänzung oder Ersatz für klassische Systeme wie Subversion Jan Dittberner <jan.dittberner@communardo.de> 29.09.2009 ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 2
  • 4. Verteilte Versionsverwaltung Historie Vorteile Nachteile Git Git praktisch Diskussion/Fragen Verteilte Versionsverwaltung ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 3
  • 5. Historie - lokale Versionkontrolle Verteilte Versionsverwaltung s Verzeichniskopien Historie Vorteile Nachteile s RCS, SCCS Git s Microsoft VSS (über Fileshares netzfähig) Git praktisch Diskussion/Fragen ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 4
  • 6. Historie - zentrale Systeme Verteilte Versionsverwaltung s CVS (basiert auf RCS) Historie Vorteile Nachteile s Subversion (SVN) Git s diverse andere (Perforce, CM-Synergy) Git praktisch Diskussion/Fragen ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 5
  • 7. Historie - dezentrale Systeme Verteilte Versionsverwaltung s BitKeeper Historie Vorteile Nachteile s Mercurial (hg) Git s Bazaar (bzr) Git praktisch Diskussion/Fragen s Git s Darcs ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 6
  • 8. Vorteile dezentraler SCM-Systeme Verteilte Versionsverwaltung s komplette lokale Historie Historie Vorteile Nachteile s Möglichkeit zur Offline-Arbeit Git s sehr schnell (Diff, Log, etc.) Git praktisch Diskussion/Fragen s verschiedene Workflows möglich s lokale Tests (z.B. für Featurebranches) beeinflussen andere Entwickler nicht s durch hohe Geschwindigkeit häufig kleinere Commits (bessere Nachvollziehbarkeit von Änderungen) s robustere Merging-Mechanismen ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 7
  • 9. Nachteile dezentraler SCM-Systeme Verteilte Versionsverwaltung s keine zentrale Kontrolle Historie Vorteile Nachteile s Umgang muss erlernt werden (Nachteil?) Git Git praktisch Diskussion/Fragen ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 8
  • 10. Verteilte Versionsverwaltung Git Herkunft und Verbreitung Warum Git? Verfügbarkeit Toolunterstützung Git praktisch Git Diskussion/Fragen ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 9
  • 11. Herkunft und Verbreitung Verteilte Versionsverwaltung s Ursprünglich von Linus Torvalds für die Entwicklung des Git Linux-Kernels als Ersatz für das kommerzielle Bitkeeper Herkunft und Verbreitung entwickelt. Warum Git? Verfügbarkeit Toolunterstützung s Einsatz inzwischen in vielen kleineren und auch extrem Git praktisch großen Projekten: Linux Kernel, Wine, Perl, GNOME, Diskussion/Fragen Qt, Ruby on Rails, Android, Fedora, Debian, X.org, VLC s wird inzwischen von einigen OpenSource-Hostern angeboten. SourceForge [3] und Github [4] sind die bekanntesten. ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 10
  • 12. Warum Git? Verteilte Versionsverwaltung s Umfangreiche Projektseite [1] und Dokumentation [2]. Git Herkunft und s vollständige Dokumentation aller Unterbefehle Verbreitung Warum Git? Ø ÐÔ ×Ù ÓÑÑ Ò Verfügbarkeit Toolunterstützung Git praktisch s leichtgewichtige lokale Branches Diskussion/Fragen s sehr schnell s sehr kompakte lokale Repositories (teilweise kleiner als SVN-Checkout einer einzelnen Version) s erlaubt lokales Staging von Änderungen s unterstützt praktisch beliebige Workflows s siehe auch ØØÔ »» ºÛ Ý Ø × ØØ ÖØ Òܺ ÓÑ» ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 11
  • 13. Verfügbarkeit Verteilte Versionsverwaltung Verfügbarkeit: Git Herkunft und s Download von der Git Projektseite [1] Verbreitung Warum Git? Verfügbarkeit s Debian Toolunterstützung ÔØ ØÙ Ò×Ø ÐÐ Ø ¹ ÓÖ Git praktisch Diskussion/Fragen s Windows x Cygwin ØØÔ »»ÛÛÛº Ý Û Òº ÓÑ» x msysGit ØØÔ »» Ó º ÓÓ Ð º ÓѻԻÑ×Ý× Ø» ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 12
  • 14. Toolunterstützung Verteilte Versionsverwaltung s TortoiseGit – Explorer-Erweiterung ähnlich TortoiseSVN Git ØØÔ »» Ó º ÓÓ Ð º ÓѻԻØÓÖØÓ × Ø» Herkunft und Verbreitung Warum Git? s eGit – Eclipse Git Team Provider Verfügbarkeit ØØÔ »» غÓÖº Þ» ØÛ » Ð Ô× ÈÐÙ Ò Toolunterstützung Git praktisch s ggit (Gnome), gitk (Tcl/Tk), gitx (MacOS X) als Diskussion/Fragen Repository-Browser s viele weitere: ØØÔ »» غÓÖº Þ» ØÛ »ÁÒØ Ö × ÖÓÒØ Ò × Ò ÌÓÓÐ× ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 13
  • 15. Verteilte Versionsverwaltung Git Git praktisch Start mit Git Repositories klonen Branches Merge Tags Git praktisch Umgang mit History Patches SVN-Integration Trac-Integration weitere Integrationen Referenzen Diskussion/Fragen ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 14
  • 16. Einrichtung, Erzeugen eines Repositories Verteilte Versionsverwaltung Git für lokale Entwicklung einrichten: Git Ø ÓÒ ¹¹ ÐÓ Ð Ù× Ö º Ò Ñ Â Ò ØØ ÖÒ Ö Git praktisch Ø ÓÒ ¹¹ ÐÓ Ð Ù× Ö º Ñ Ð Start mit Git Òº ØØ ÖÒ Ö ÓÑÑÙÒ Ö Ó º Repositories klonen Ø ÓÒ ¹¹ ÐÓ Ð Ù× Ö º × Ò Ò Ý ¼Ü Branches Merge Tags Repository anlegen in einem beliebigen Verzeichnis: Umgang mit History Ø Ò Ø Patches SVN-Integration Trac-Integration Dateien hinzufügen und einchecken weitere Integrationen Ø º Referenzen Ø ÓÑÑ Ø ¹Ñ Ñ Ò Ö×Ø Ö ÓÑÑ Ø Diskussion/Fragen ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 15
  • 17. Repositories klonen Verteilte Versionsverwaltung Repository über SSH klonen, damit wird die Verbindung zum Git Remote-Repository als Quelle vermerkt. Git praktisch Ø ÐÓÒ ×× »» Ù× Ö Ó×Ø » Ö ÔÓ Ö » ÔÖÓ Øº Ø Start mit Git Repositories klonen Zum Klonen erlaubt git verschiedene Mechanismen: ssh, Branches Merge git-eigenes Protokoll, rsync, http, https, Dateipfade. Bei http Tags und https ist nur ein lesender Zugriff möglich Umgang mit History Patches Folgendes Kommando holt neue Änderungen vom SVN-Integration Trac-Integration Remote-Repository in ein lokales Repository: weitere Integrationen Ø ÔÙÐÐ Referenzen Diskussion/Fragen ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 16
  • 18. Arbeiten mit Branches Verteilte Versionsverwaltung Branches und Tags sind bei git anders als z.B. bei Subversion Git nicht einfach Kopien eines Arbeitsstandes. Git praktisch Branch erstellen: Start mit Git Repositories klonen Ø Ö Ò Ö Ò Ò Ñ Branches Merge Branch erstellen und auschecken: Tags Umgang mit History Ø ÓÙØ ¹ Ö Ò Ò Ñ Patches SVN-Integration Branches auflisten: Trac-Integration weitere Ø Ö Ò Integrationen Referenzen Diskussion/Fragen ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 17
  • 19. Mergen von Änderungen, Aktualisierungen von Branches Änderungen aus einem Branch in den Hauptzweig Ñ ×Ø Ö Verteilte Versionsverwaltung Git (entspricht ØÖÙÒ bei SVN) übernehmen: Git praktisch Ø ÓÙØ Ñ ×Ø Ö Start mit Git Repositories klonen Ø Ñ Ö Ö Ò Branches Merge Um einen Branch, der z.B. für ein Feature angelegt wurde auf Tags den aktuellen Stand des Ñ ×Ø Ö-Branches zu bringen: Umgang mit History Patches Ø ÓÙØ Ö Ò SVN-Integration Ø Ö × Ñ ×Ø Ö Trac-Integration weitere Integrationen Bei vielen lokalen Commits kann es sinnvoll sein, diese Referenzen zusammenzuführen. Die letzten 3 Commits können z.B. so Diskussion/Fragen zusammengeführt werden: Ø Ö × ¹ À ¿ ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 18
  • 20. Tags Verteilte Versionsverwaltung Ein Tag ist ein symbolischer Name für einen bestimmten Git Zustand eines Branches, also einen Commit. Tags können Git praktisch mit einer PGP-Signatur versehen werden. Start mit Git Tag erstellen mit Signatur: Repositories klonen Branches Ø Ø ¹× Ö Ð × ½ º½ Merge Tags Umgang mit History Patches SVN-Integration Trac-Integration weitere Integrationen Referenzen Diskussion/Fragen ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 19
  • 21. Umgang mit History Verteilte Versionsverwaltung Letzte Versionen anzeigen lassen: Git Ø ÐÓ Git praktisch Start mit Git Unterschiede zum letzten commiteten Stand anzeigen Repositories klonen lassen: Branches Merge Ø Tags Umgang mit History Patches Besonders gut lässt sich die Versionshistorie z.B. mit SVN-Integration gitk/gitg/gitx visualisieren. Trac-Integration weitere Integrationen Referenzen Diskussion/Fragen ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 20
  • 22. Patches Verteilte Versionsverwaltung s bei vielen OpenSource-Projekten werden Bugfixes in Git Form von Patches weitergegeben und ggf. in das Git praktisch Hauptrepository übernommen Start mit Git Repositories klonen s Git unterstützt dies mit den ÓÖÑ Ø¹Ô Ø und Ñ Branches Merge Unterkommandos Tags Umgang mit History Patches Patches für die letzten 3 Änderungen erzeugen: SVN-Integration Trac-Integration Ø ÓÖÑ Ø ¹ Ô Ø À ¿ºº À weitere Integrationen Referenzen Diskussion/Fragen ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 21
  • 23. SVN-Integration Verteilte Versionsverwaltung s SVN-Repositories lassen sich über das Subkommando Git ×ÚÒ von Git nutzen1 Git praktisch Start mit Git s Vorteile: lokale Version der kompletten Historie, offline Repositories klonen arbeiten möglich, schnelle Diffs Branches Merge Tags SVN-Repository klonen: Umgang mit History Patches Ø ×ÚÒ ÐÓÒ ¹× Ö ÔÓÙÖÐ Ô SVN-Integration Trac-Integration Updates von SVN-Repository holen: weitere Integrationen Ø ×ÚÒ Ø Referenzen Diskussion/Fragen Änderungen ins SVN übertragen: Ø ×ÚÒ ÓÑÑ Ø 1 funktioniert unter Windows noch eher schlecht ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 22
  • 24. Trac-Integration Verteilte Versionsverwaltung s das GitPlugin [5] für Trac erlaubt Git- statt Git SVN-Repositories Git praktisch Start mit Git s über pre-receive und post-receive-Hooks [6] kann ein Repositories klonen Branches Git-Repository mit einer Trac-Installation interagieren Merge und z.B. Tickets schließen oder Kommentare zu diesen Tags Umgang mit History hinzufügen Patches SVN-Integration Trac-Integration weitere Integrationen Referenzen Diskussion/Fragen ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 23
  • 25. weitere Integrationen Verteilte Versionsverwaltung s Maven ØØÔ »»Ñ Ú Òº Ô ºÓÖ »× Ñ» غ ØÑÐ Git Git praktisch s JIRA Start mit Git ØØÔ »» ÓÒ ÐÙ Ò º ØÐ ×× Òº ÓÑ» ×ÔÐ Ý»ÂÁÊ Ì»Â Ö Repositories klonen Branches Merge s Hudson Tags ØØÔ »»Û º Ù ×ÓÒ¹ ºÓÖ » ×ÔÐ Ý»ÀÍ ËÇÆ» Ø·ÈÐÙ Ò Umgang mit History Patches SVN-Integration Trac-Integration weitere Integrationen Referenzen Diskussion/Fragen ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 24
  • 26. Referenzen Verteilte Versionsverwaltung [1] ØØÔ »»ÛÛÛº Ø¹× Ñº ÓÑ» Git Git praktisch [2] ØØÔ »»ÛÛÛº Ø¹× Ñº ÓÑ» Ó ÙÑ ÒØ Ø ÓÒ Start mit Git Repositories klonen [3] SourceForge Git Hosting Branches Merge Tags [4] ØØÔ »» Ø Ù º ÓÑ» Umgang mit History Patches [5] ØØÔ »»ØÖ ¹ ׺ÓÖ »Û » ØÈÐÙ Ò SVN-Integration Trac-Integration weitere [6] Commithooks von John Goerzen Integrationen Referenzen Diskussion/Fragen ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 25
  • 27. Verteilte Versionsverwaltung Vielen Dank für Eure Aufmerksamkeit. Git Gibt es Fragen? Git praktisch Diskussion/Fragen ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 26
  • 28. Kontakt Verteilte Versionsverwaltung Jan Dittberner Git Software Architekt und Debian Developer Git praktisch Communardo Software GmbH Diskussion/Fragen Kleistraße 10a D-01129 Dresden jan.dittberner@communardo.de ⃝ Communardo Software GmbH ⋅ Fon +49 (0) 351 833820 ⋅ info@communardo.de ⋅ www.communardo.de c Seite 27