Git für Fortgeschrittene

Schneller und komfortabler mit Git

Neben gängigen Operationen wie commit, push/pull und rebase besteht Git noch aus weit mehr nützlichen Befehlen die man wie einen Werkzeugkasten betrachten kann. Diese und die Verwendung von Skripten vereinfachen die Arbeit mit Git. So lässt sich praktisch jeder beliebige Workflow abbilden und die tägliche Arbeit erleichtern. Fragen zu Git und Git Workflows können gerne mitgebracht werden.

Bequemer mit Git arbeiten mit Befehlen, Parametern und Skripten

Nichts für Einsteiger: Die in den Git manpages etwas versteckt stehenden Leistungsmerkmale werden gezeigt, welche die Inhalte einer Git und Git Workflows-Schulung abrunden.

  • Was sich bei Git in den neueren Versionen getan hat, etwa bei Befehlen wie switch, restore und Parametern wie push --force-with-lease, clone --recurse-submodules u. a.
  • Erstellen neuer oder komplexer Operationen mit git-<Befehl>-Skripten
  • Revisionen händisch mit git write-tree und git-commit-tree erzeugen
  • Inspektion uns Auswahl von bspw. Dateien, Commits und Branches mit fzf
  • Bessere Vergleiche mit diff-so-fancy und git-delta
  • Adressierung von Commits mittels Notationen wie ~, ^, master@{upstream}
  • Änderungen mithilfe von git update-index --skip-worktree temporär ignorieren
  • Verwendung und Einsatz von Submodulen (Beispiel)
  • Einsatz von git subtree und Subtree Merge
  • Erstellung von Bundles zum Datenaustausch bspw. per USB-Stick (Beispiel)
  • Sicherheitsnetz git reflog, auffinden und wiederherstellen „unerreichbarer“ Commits
  • Datenaustausch zwischen Workstations mittels git daemon
  • Arbeit mit mehreren Arbeitsverzeichnissen git worktree
  • Aufräumen und Packen von Repositories nach History-Rewrites (git gc, git prune, git repack)
  • Bequemes „Abräumen des (Git-)Arbeitstischs“ und Wiederherstellung auf einem beliebigen Rechner nur mit einem Kommando git hi bzw. git bye (Quelle)

Präzise und praktische Integration

  • Die Lesbarkeit und Verständlichkeit der Historie als „oberste Direktive“
  • Aufräumen der Revisionsgeschichte mit Interactive Rebase
    • Zusammenfassung und Aufteilung von Commits, u. a. mit git commit --fixup
    • Neuordnen und Entfernen von Commits
    • Prüfung jedes Commits eines Bereichs mit exec
  • Kopieren von Commits git cherry-pick
  • Auffinden durch welchen Commit ein Bug verursacht wurde und seit wann er in Releases ausgeliefert wurde, Möglichkeiten der Behebung

Git Workflows, Branching und Sonstiges

Es gibt keine Git „Best Practice“-Workflows. Git kann und sollte so einsetzt werden, dass es am besten zu den Anforderungen des Projekts passt. Genau dafür wurde es mit entwickelt.

  • Wie man zum richtigen Git Workflow findet vs. landläufige Workflows wie „OneFlow“ oder „git-flow“
  • Pull Requests und Continuous Integration mit GitLab oder GitHub, gängige Voreinstellungen „fast forward merge“ vs. „merge commit“
  • Arbeit mit Wegwerfintegrationsbranches mit git rerere, Wiederverwendung von Konfliktlösungen
  • Strategien für sich häufig ändernde Ressourcen in Repositories, wie Konfigurationsdateien
  • Zeilenenden bei macOS, Linux und Windows, git add --renormalize
  • Große Dateien, wie Audio, Video, Datasets und das Git Large File Storage (LFS)

Unsere Veranstaltungsorte von dieser / diesem Schulung, Training, Seminar, Kurs (nach oben): Berlin, Dresden, Frankfurt am Main, Hamburg, Hannover, Karlsruhe, Köln, Leipzig, Magdeburg, München, Stuttgart und Inhouse.

Fortbildung oder Weiterbildung zu Git für Fortgeschrittene – wir setzen nur auf erfahrene Talente als Git für Fortgeschrittene Trainer. Das Credo von Alexander Groß lautet „Ich will, dass Entwickler auf ihre Software stolz sein können“. Mehr zu ihm und den Beweggründen unserer anderen Trainer erfahren Sie bei seiner Biographie (direkt erreichbar per Bild).

Nach oben