Inhaltsverzeichnis
Alle Kapitel aufklappen
Alle Kapitel zuklappen
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