E-Book, Deutsch, 421 Seiten
Reihe: Rheinwerk Computing
Öggl / Kofler Git
3. Auflage 2025
ISBN: 978-3-367-11259-3
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Projektverwaltung für Entwickler und DevOps-Teams
E-Book, Deutsch, 421 Seiten
Reihe: Rheinwerk Computing
ISBN: 978-3-367-11259-3
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Git gehört zum unverzichtbaren Handwerkszeug aller IT-Profis und darf in keiner Toolbox fehlen. Ob Sie Konfigurationsdateien versionieren wollen, an Open-Source-Projekten mitarbeiten oder im Team komplexe Anwendungen entwickeln: Git sorgt dafür, dass Sie den Überblick behalten. Daher lernen Sie hier nicht nur, wie Sie Änderungen einchecken und fremde Repositorien klonen, sondern erfahren auch, wie Git Ihnen den Arbeitsalltag leichter macht. Schnelleinstieg mit Praxistipps und Kommandoreferenz inklusive.
Aus dem Inhalt:
- Git in zehn Minuten: der Schnelleinstieg
- Installation und Einrichtung
- Grundlagen: Repos, Commits, Branches, Merging
- GitLab: Projekte lokal hosten
- GitHub: der Marktplatz für Softwareprojekte
- GitHub-Alternativen: Bitbucket, Azure DevOps Services, Gitolite und mehr
- Arbeitstechniken: History, Feature Branches, Stashing, Hooks und mehr
- Workflows: So nutzen Sie Git effektiv
- Best Practices und Troubleshooting
- Kommandoreferenz
Bernd Öggl ist ein erfahrener Systemadministrator und Webentwickler. Bereits seit 2001 erstellt er für Kunden Websites, setzt individuelle Entwicklerprojekte um und gibt sein Wissen auf Konferenzen und in Publikationen weiter.
Autoren/Hrsg.
Weitere Infos & Material
Vorwort ... 9 1. Git in zehn Minuten ... 13 1.1 ... Was ist Git? ... 13 1.2 ... Software von GitHub herunterladen ... 16 1.3 ... Programmieren lernen mit Git-Unterstützung ... 18 2. Learning by Doing ... 23 2.1 ... git-Kommando installieren ... 23 2.2 ... GitHub-Account und -Repositories einrichten ... 31 2.3 ... Mit dem Kommando »git« arbeiten ... 38 2.4 ... Authentifizierung ... 52 2.5 ... Entwicklungsumgebungen und Editoren ... 64 2.6 ... An einem fremden GitHub-Projekt mitarbeiten ... 71 3. Git-Grundlagen ... 75 3.1 ... Begriffe und Konzepte ... 75 3.2 ... Die Git-Datenbank ... 80 3.3 ... Commits ... 84 3.4 ... Commit-Undo ... 92 3.5 ... Branches ... 100 3.6 ... Merge ... 107 3.7 ... Stashing ... 114 3.8 ... Remote Repositories ... 116 3.9 ... Merge-Konflikte lösen ... 128 3.10 ... Rebasing ... 135 3.11 ... Tags ... 140 3.12 ... Referenzen auf Commits ... 146 3.13 ... Git-Interna ... 151 4. Datenanalyse im Git-Repository ... 155 4.1 ... Commits durchsuchen (git log) ... 155 4.2 ... Dateien durchsuchen ... 166 4.3 ... Fehler suchen (git bisect) ... 172 4.4 ... Statistik und Visualisierung ... 173 5. GitHub ... 181 5.1 ... Pull-Requests ... 182 5.2 ... Actions ... 187 5.3 ... Paketmanager (GitHub Packages) ... 196 5.4 ... Automatische Sicherheits-Scans ... 201 5.5 ... Weitere GitHub-Funktionen ... 205 5.6 ... GitHub CLI ... 211 5.7 ... Codespaces ... 215 6. GitLab ... 219 6.1 ... On Premises versus Cloud ... 220 6.2 ... Installation ... 221 6.3 ... Das erste Projekt ... 228 6.4 ... Pipelines ... 230 6.5 ... Merge-Requests ... 240 6.6 ... Web-IDE ... 243 6.7 ... GitPod ... 244 7. Azure DevOps, Bitbucket, Gitea und Gitolite ... 247 7.1 ... Azure DevOps ... 247 7.2 ... Bitbucket ... 252 7.3 ... Gitea ... 254 7.4 ... Gitolite ... 265 8. Workflows ... 269 8.1 ... Anweisungen für das Team ... 269 8.2 ... Solo-Entwicklung ... 270 8.3 ... Feature-Branches für Teams ... 272 8.4 ... Merge/Pull-Requests ... 279 8.5 ... Long-running Branches -- Gitflow ... 283 8.6 ... Trunk-based Development ... 288 8.7 ... Welcher Workflow ist der Richtige? ... 291 9. Arbeitstechniken ... 293 9.1 ... Hooks ... 293 9.2 ... Prägnante Commit-Messages ... 298 9.3 ... Submodule und Subtrees ... 305 9.4 ... Mehr Komfort in Bash und Zsh ... 316 9.5 ... git diff mit »delta« lesbarer darstellen ... 319
10. Git in der Praxis ... 321 10.1 ... Etckeeper ... 322 10.2 ... Dotfiles mit Git verwalten ... 325 10.3 ... Zugriff auf Subversion mit git-svn ... 332 10.4 ... Von SVN zu Git migrieren ... 336 10.5 ... Ein Blog mit Git und Hugo ... 341
11. Git-Probleme und ihre Lösung ... 353 11.1 ... Git-Fehlermeldungen (Ursache und Lösung) ... 354 11.2 ... Leere Verzeichnisse speichern ... 361 11.3 ... Merge für eine einzelne Datei ... 362 11.4 ... Dateien permanent aus Git löschen ... 363 11.5 ... Ein Projekt aufteilen ... 371 11.6 ... Commits in einen anderen Branch verschieben ... 372
12. Kommandoreferenz ... 375 12.1 ... git-Kommando ... 375 12.2 ... Revisionssyntax ... 408 12.3 ... git-Konfiguration ... 409 Index ... 415
2 Learning by Doing
Dieses Kapitel setzt fort, womit wir im vorigen Kapitel begonnen haben: Konkrete Beispiele zeigen Ihnen die praktische Anwendung von Git. Im Unterschied zum Einführungskapitel gehen wir jetzt aber etwas mehr in die Tiefe und stellen Ihnen eine ganze Palette von Werkzeugen vor. Im Detail behandeln wir die folgenden Themen:
-
Installation von Git
-
GitHub-Account einrichten
-
git-Kommando anwenden
-
Authentifizierung (HTTPS vs. SSH, Credential Caching)
-
grafische Git-Benutzeroberflächen
-
Mitarbeit an fremden GitHub-Projekten (Pull-Request)
Bevor Sie loslegen, wollen wir Ihnen noch den Mund wässrig machen für Kapitel 3, »Git-Grundlagen«: Dort erläutern wir die Konzepte von Git. Wenn Sie verstehen möchten, wie Git wirklich funktioniert (und dazu lesen Sie ja dieses Buch, oder?), dann führt an diesen Grundlagen kein Weg vorbei. Und während in diesem Kapitel noch viel von grafischen Hilfsmitteln die Rede ist, konzentriert sich das nächste Kapitel vollständig auf die Anwendung des git-Kommandos in einem Terminalfenster.
2.1 git-Kommando installieren
Das gesamte Buch geht davon aus, dass Ihnen das Kommando git in einer ausreichend aktuellen Version zur Verfügung steht. Auch viele der im weiteren Verlauf vorgestellten Editoren und Entwicklungsumgebungen greifen auf dieses Kommando zurück. Dieser Abschnitt fasst zusammen, wie Sie git installieren.
Downloadlinks und weitere Installationstipps finden Sie hier:
Git ohne Installation
In manchen Entwicklungsumgebungen (z. B. Visual Studio oder Xcode) sind Git-Bibliotheken bzw. das Kommando git direkt enthalten. Solange Sie ausschließlich mit diesen IDEs arbeiten, erübrigt sich die explizite Installation des git-Kommandos.
Des Weiteren können Sie Git-Grundfunktionen auch direkt auf Webplattformen wie https://github.com oder https://gitlab.com ausprobieren. (Alle Dateien bleiben dabei in den Repositories des Git-Hosters, befinden sich also nicht auf Ihrem Rechner.)
Für die Arbeit mit diesem Buch sollten Sie aber unbedingt die Möglichkeit haben, git als eigenständiges Kommando auszuführen. Testen Sie in einem Terminal, ob git --version funktioniert. Wenn das nicht der Fall ist, installieren Sie git!
Linux
Unter Linux installieren Sie git mit dem jeweiligen Paketverwaltungswerkzeug:
dnf install git # Fedora/RHEL und Klone
Anstelle von git können Sie bei einigen Distributionen (z. B. Debian, Ubuntu) auch git-all installieren. Damit erhalten Sie außer dem git-Kommando diverse Zusatz-Tools, z. B. die grafische Oberfläche git-gui sowie Werkzeuge, die zwei Versionen einer Datei grafisch vergleichen oder die Branches des Repositorys visualisieren. Allerdings sind mit git-all rund 50 zusätzliche Pakete verbunden. Deswegen empfehlen wir Ihnen, vorerst mit dem Basispaket git zu beginnen und alle anderen Pakete erst bei Bedarf zu installieren.
Mit git --version stellen Sie fest, ob git funktioniert und in welcher Version es zur Verfügung steht. Für die Lektüre dieses Buchs ist es nicht notwendig, dass Sie die allerneueste Version verwenden. Die mit Ihrer Distribution ausgelieferte Version reicht fast immer aus.
git version 2.50.0
macOS
Unter macOS erhalten Sie git als Teil von Xcode, sofern Sie dessen Command-Line Tool mitinstallieren. Bei Bedarf können Sie die Installation dieser Tools mit dem folgenden Kommando initiieren:
Falls Sie Xcode nicht installieren wollen, sollten Sie auf Ihrem Mac HomeBrew einrichten (siehe https://brew.sh). Anschließend installieren Sie das git-Kommando wie folgt:
Windows
Unter Windows ist die Sache (wie immer) ein wenig komplizierter: Das Setup-Programm, das Sie von https://git-scm.com/downloads herunterladen können, richtet nämlich nicht nur das git-Kommando ein, sondern installiert auch gleich eine Terminal-Umgebung (die Git Bash) mit den wichtigsten, aus der Linux-Welt bekannten Komponenten, darunter die Shell bash sowie Kommandos wie ls, find, grep, tar, gzip usw. Ebenfalls inkludiert ist die Git GUI, eine einfache grafische Git-Benutzeroberfläche von eher zweifelhaftem Nutzen.
Während des Setup-Prozesses müssen Sie alle erdenklichen Rückfragen beantworten und Optionen auswählen. So viel gleich vorweg: Sie machen nichts verkehrt, wenn Sie die voreingestellten Optionen mit Ausnahme des Editors einfach übernehmen. Trotzdem haben wir uns die Mühe gemacht, die für Einsteiger oft schwer verständlichen Dialoge hier zu dokumentieren.
Abbildung 2.1 Einer der unzähligen Konfigurationsdialoge des Git-Setup-Programms für Windows
-
Installationsort: Normalerweise werden das git-Kommando und die dazugehörigen Tools in das Verzeichnis C:\Program Files\Git installiert. Bei Bedarf können Sie ein anderes Verzeichnis auswählen.
-
Installationsumfang: Im nächsten Dialog wählen Sie aus, welche Komponenten außer dem eigentlichen git-Kommando installiert werden sollen. Standardmäßig zählt dazu die LFS-Erweiterung (Large File Support, siehe auch Abschnitt 10.5, »Ein Blog mit Git und Hugo«). Außerdem legen Sie fest, ob und wo Icons eingerichtet und welche Verknüpfungen zu Dateierweiterungen hergestellt werden sollen.
In diesem Dialog sollten Sie die Option Add a Git Bash Profile to Windows Terminal aktivieren. Diese Option vereinfacht den Start der Git Bash im Terminal.
-
Editor: Bei der Ausführung einiger git-Kommandos wird automatisch ein Editor gestartet, in dem Sie z. B. Erklärungen zu einem Merge-Vorgang eingeben oder eine Konfigurationsdatei bearbeiten. Üblicherweise verwendet git unter Windows den Editor der Git Bash, nämlich vim. Dessen Charme erschließt sich allerdings nur Linux-Veteranen. Wenn Ihnen vim nicht vertraut ist, sollten Sie in diesem Dialog einen anderen Editor einstellen, der auf Ihrem Rechner installiert ist. Zur Auswahl stehen Notepad++, VSCode sowie dessen Open-Source-Variante VSCodium.
Beachten Sie, dass es bei dieser Einstellung nicht um den Editor geht, mit dem Sie den Code Ihrer Softwareprojekte bearbeiten – diesbezüglich gibt es keinerlei Einschränkungen. Es geht hier ausschließlich um den Fall, dass das git-Kommando selbst einen Editor starten möchte.
-
Default-Branch-Name: In der Vergangenheit wurde zusammen mit jedem neuen Git-Repository automatisch der Branch master eingerichtet. Mittlerweile ist main üblich. In diesem Dialog können Sie den Namen des Default-Branches frei festlegen. Verwenden Sie main!
-
PATH: Im nächsten Dialog geht es darum, wie das Setup-Programm die Umgebungsvariable PATH einstellt. Diese Variable legt fest, in welchen Verzeichnissen cmd.exe oder die PowerShell nach Programmen sucht:
-
Die Option Use Git from Git Bash only belässt den PATH unverändert. Sie können daher git nur in der Git Bash ausführen, aber nicht in cmd.exe oder der PowerShell.
-
Empfohlen ist die Standardeinstellung Git from the command line and also from 3rd-party software: Damit wird PATH um den Pfad zum git-Kommando erweitert. Das Kommando git kann nun in cmd.exe, in der PowerShell und in der Git Bash aufgerufen sowie von externen Tools genutzt werden.
-
Zuletzt gibt es noch die Möglichkeit Use Git and optional Unix tools from the Command Prompt. In diesem Fall wird auch das Verzeichnis mit allen Linux-Tools der Git Bash zu PATH hinzugefügt. Das hat den Vorteil, dass Sie in cmd.exe, der PowerShell oder dem Terminal Linux-Kommandos wie ls, tar usw. nutzen können. Dem steht aber der Nachteil gegenüber, dass Windows-Standardkommandos wie find oder sort nicht mehr wie gewohnt funktionieren, weil stattdessen deren inkompatible Linux-Varianten zum Einsatz kommen.
...
-




