GEDOPLAN Expertenkreis Java
März 2015
Versionierung mit Git
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Agenda
 Vorstellung
 Grober Überblick über Git
 Vor- ...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
ITSD Consulting GmbH
 IT Systemhaus aus OWL
 Standorte...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Was ist Git?
 System zur Verwaltung von Versionsständen...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Zentrales Versionskontrollsystem
Arbeitsverzeichnis
 Te...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Dezentrales Versionskontrollsystem
Arbeitsverzeichnis
 ...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Repository Strategien
 Zentral
 Normalerweise in Unter...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Repository Strategien
 Integrationsmanager
 Wird oft v...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Repository Strategien
 Diktator und Leutnant
 z.B. bei...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Weiteres zu Git
 Es werden Snapshots des gesamten Proje...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Workflow mit Branches "Gitflow"
 Git ermöglicht verschi...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Noch mehr zu Git
 Staging area zum Zusammenstellen von ...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Daten in das (lokale) Repository schreiben
Arbeitsverzei...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Der Weg vom/zum remote Repository
Arbeitsverzeichnis
Lok...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Vorteile
 Geschwindigkeit von fast allen Operationen
 ...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Nachteile
 Binäre Dateien (jeweils alle Versionen im lo...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Migration von SVN/CVS
 Unterstützung durch Skripte
 Nu...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Best Practices
 Beim Einstieg nicht sofort alle Möglich...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Tools
 SourceTree
 Git Gui / Gitk
 Github Client
 To...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
SourceTree
 Von Atlassian
 Kostenlos unter http://www....
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Git Gui/Gitk
 Ist in der MsysGit Installation enthalten...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Github Client
 Eigenes natives Git
 Funktioniert auch ...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
TortoiseGit
 Nutzt natives Git
 Angelehnt an TortoiseS...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Egit/JGit
 JGit ist eine Java Implementierung von Git
...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
GitX (L)
 grafischer Git Client für MacOS X
 Kostenlos...
Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015
Die Serverseite
 Nutzung über Netzwerk-Shares ohne Serv...
ITSD Consulting GmbH
Blankensteinstraße 62
32257 Bünde
Telefon: +49 - 5223 - 793 34 00
Telefax: +49 - 5223 - 793 34 32
Web...
Nächste SlideShare
Wird geladen in …5
×

Versionierung mit GIT

382 Aufrufe

Veröffentlicht am

Vortrag Carsten Frewert, ITSD Consulting, auf dem Expertenkreis Java am 25.3.2015, GEDOPLAN GmbH

Veröffentlicht in: Software
0 Kommentare
0 Gefällt mir
Statistik
Notizen
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Keine Downloads
Aufrufe
Aufrufe insgesamt
382
Auf SlideShare
0
Aus Einbettungen
0
Anzahl an Einbettungen
2
Aktionen
Geteilt
0
Downloads
10
Kommentare
0
Gefällt mir
0
Einbettungen 0
Keine Einbettungen

Keine Notizen für die Folie
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • Versionierung mit GIT

    1. 1. GEDOPLAN Expertenkreis Java März 2015 Versionierung mit Git
    2. 2. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Agenda  Vorstellung  Grober Überblick über Git  Vor- und Nachteile  Migration  Best Practices  Überblick IDE-Plugins und GUI-Clients
    3. 3. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 ITSD Consulting GmbH  IT Systemhaus aus OWL  Standorte in Minden und Bünde  ca. 20 IT-Experten  bundesweit tätig  Schwerpunkte:  Softwareentwicklung mit Java  Beratung im Bereich Enterprise-Technologien  Umsetzung von IT-Projekten im Unternehmensumfeld
    4. 4. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Was ist Git?  System zur Verwaltung von Versionsständen von Dateien  Im Unterschied zu CVS oder Subversion (SVN) ein verteiltes, dezentrales System  es ist kein zentraler Server nötig  jeder Benutzer arbeitet mit einem kompletten Klon eines remote Repositories  entwickelt zur Verwaltung des Quellcodes des Linux-Kernels  2005 wurde Bitkeeper kostenpflichtig  Linus Torvalds entwickelt daher Git  Parallel Entwicklung von Mercurial von anderen Entwicklern  Seit 2008: Github beschleunigt als Hoster für OpenSource-Projekte die Verbreitung
    5. 5. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Zentrales Versionskontrollsystem Arbeitsverzeichnis  Test.pdf  Hallo.java Entwickler A Arbeitsverzeichnis  Test.pdf  Hallo.java Entwickler B Repository
    6. 6. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Dezentrales Versionskontrollsystem Arbeitsverzeichnis  Test.pdf  Hallo.java Entwickler A Repository Fetch/Push Checkout/ Commit Arbeitsverzeichnis  Test.pdf  Hallo.java Entwickler B Repository Checkout/ Commit Repository
    7. 7. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Repository Strategien  Zentral  Normalerweise in Unternehmen Zentrales Repository Entwickler Entwickler Entwickler
    8. 8. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Repository Strategien  Integrationsmanager  Wird oft von Open Source Projekten genutzt (z.B. bei GitHub)  Verwendung von Pull Requests Entwickler öffentlich Entwickler öffentlich Entwickler öffentlich Integrations manager Entwickler privat Entwickler privat Entwickler privat Blessed Repository
    9. 9. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Repository Strategien  Diktator und Leutnant  z.B. beim Linux-Kernel verwendet  Verwendung von Pull-Requests Blessed Repository Entwickler öffentlich Entwickler öffentlich Entwickler öffentlich Diktator Leutnant Leutnant
    10. 10. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Weiteres zu Git  Es werden Snapshots des gesamten Projekts versioniert  Pro Commit werden nur Dateien gespeichert, die sich tatsächlich geändert haben  Commits kann man sich als Knoten eines Graphen vorstellen, die auf ihre Vorgänger zeigen  Daten werden komprimiert  Manipulationen fallen sofort auf, da die Commit ID ein Hash-Wert basierend auf Metainformationen, Inhalt und Eltern-Commits ist  automatische Konvertierung von Zeilenenden  Branches werden zum zentralen Konzept
    11. 11. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Workflow mit Branches "Gitflow"  Git ermöglicht verschiedene Workflows  Dieser Workflow hat sich durchgesetzt  Veröffentlicht von Vincent Driessen  Es ist keine Erweiterung für Git - Alles ist mit Bordmitteln umsetzbar master hotfix release development feature
    12. 12. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Noch mehr zu Git  Staging area zum Zusammenstellen von Änderungen, die committed werden sollen  "commit" Befehl schreibt nur in lokales Repository  analog liest "checkout" nur aus dem lokalen Repository  Zum Übermitteln der Änderungen an ein remote Repository ist ein weiterer Befehl nötig: "push"  Zum Aktualisieren des lokalen Repositories dient "fetch"  "pull" ist ein "fetch" mit anschließendem Merge der Änderungen in den lokalen Workspace
    13. 13. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Daten in das (lokale) Repository schreiben Arbeitsverzeichnis Staging Area Git Repository Dateien in die Staging Area hinzufügen Commit erzeugen Stand auschecken git commitgit add git checkout Dateien zur Staging Area hinzufügen und Commit erzeugen git commit -a
    14. 14. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Der Weg vom/zum remote Repository Arbeitsverzeichnis Lokales Repository Zentrales Repository Push Pull FetchMerge / Rebase Commit Clone
    15. 15. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Vorteile  Geschwindigkeit von fast allen Operationen  Einfaches und sicheres Mergen  Einfaches und schnelles Branching  Branches/Tags erzeugen im Ggs. zu SVN keine Kopien  lokale Branches zum Wechsel zwischen Aufgaben  Gute Erkennung von umbenannten oder verschobenen Dateien  Dezentrales Arbeiten  Einbindung von Code-Review möglich  Flexibilität
    16. 16. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Nachteile  Binäre Dateien (jeweils alle Versionen im lokalen Repository)  Speicherplatzverbrauch  Dauer des Klonvorgangs  SHA1-Hash nicht gut als Versions- oder Build-Nummer geeignet (im Gegensatz zur Revisions-Nummer bei SVN)  Flexibilität erkauft mit Komplexität  Git betrachtet nur Dateien, leere Verzeichnisse werden ignoriert  Berechtigungen nur für das gesamte Repository
    17. 17. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Migration von SVN/CVS  Unterstützung durch Skripte  Nutzung von SVN als "remote Repository" möglich  Wichtig:  Migration gründlich planen  vorhandene Daten analysieren  Anpassung bzw. Erstellung eines Workflows  Richtige Einteilung der Repositories  Bei langer Historie evtl. Kürzung der Historie
    18. 18. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Best Practices  Beim Einstieg nicht sofort alle Möglichkeiten nutzen  aussagekräftige Commit Kommentare schreiben  Änderungen thematisch in Commits zusammenfassen  Im Team auf einen Workflow einigen  Änderungen aus Basis eines Branches häufig in den Branch übernehmen  Keine Angst vor Rebase ("Umhängen" von Commits an einen anderen Eltern-Commit)  Nie bereits per "push" veröffentlichte Historie ändern, etwa Commits verschieben (Rebase), Branches umbenennen
    19. 19. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Tools  SourceTree  Git Gui / Gitk  Github Client  TortoiseGit  EGit / JGit  GitX (L)
    20. 20. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 SourceTree  Von Atlassian  Kostenlos unter http://www.sourcetreeapp.com/  Nutzt natives Git
    21. 21. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Git Gui/Gitk  Ist in der MsysGit Installation enthalten  Git Gui vollwertiges Programm zur Arbeit mit einem Git Repository  Gitk stellt Log dar  Kann über Kommandozeile aufgerufen werden  Probleme mit Übersetzungen  Deutsche Sprachdatei entfernen für englische Sprache  Kostenlos
    22. 22. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Github Client  Eigenes natives Git  Funktioniert auch mit eigenen Repositories  Kostenlos unter https://windows.github.com/
    23. 23. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 TortoiseGit  Nutzt natives Git  Angelehnt an TortoiseSVN  Kostenlos, siehe https://tortoisegit.org/
    24. 24. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Egit/JGit  JGit ist eine Java Implementierung von Git  EGit als Eclipse Plugin  JGit auch verwendet von Netbeans und IntelliJ IDEA  Kostenlos
    25. 25. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 GitX (L)  grafischer Git Client für MacOS X  Kostenlos  Download unter http://gitx.laullon.com/
    26. 26. Versionierung mit Git GEDOPLAN Expertenkreis Java - 26. März 2015 Die Serverseite  Nutzung über Netzwerk-Shares ohne Server möglich  einfacher Server in Git enthalten  gitolite ist ein kostenloser Server mit Rechteverwaltung http://gitolite.com/  Attlasian bietet kostenpflichtig "Stash" an: https://www.atlassian.com/software/stash  klare Empfehlung eines Vortragsteilnehmers: GitLab – weitere Infos unter https://gitlab.com/
    27. 27. ITSD Consulting GmbH Blankensteinstraße 62 32257 Bünde Telefon: +49 - 5223 - 793 34 00 Telefax: +49 - 5223 - 793 34 32 Web: www.itsd-consulting.de E-Mail: info@itsd-consulting.de Ihr Ansprechpartner Carsten Frewert

    ×