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
Sprache
Verlagsort
Verlagsgruppe
Editions-Typ
Maße
Höhe: 242 mm
Breite: 173 mm
Dicke: 28 mm
Gewicht
ISBN-13
978-3-367-10812-1 (9783367108121)
Schweitzer Klassifikation
Autor*in
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.
Michael Kofler hat Telematik an der TU Graz studiert und ist einer der erfolgreichsten deutschsprachigen IT-Fachbuchautoren. Zu seinen Themengebieten zählen neben Linux auch IT-Sicherheit, Python, Swift, Java und der Raspberry Pi. Er ist Entwickler, berät Firmen und
arbeitet als Lehrbeauftragter.
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