Linus Torvalds begann mit der Entwicklung von Git, um die Quellen des Linux-Kernels zu verwalten. Heute ist es das meistverwendete Versionskontrollsystem für Open-Source-Software und erfreut sich auch im Firmenumfeld großer Beliebtheit.
Das vorliegende Buch führt Sie auch in dieser aktualisierten, 2. Auflage fundiert und mit zahlreichen Beispielen in die Benutzung von Git und alle relevanten Techniken ein, die im täglichen Umgang mit der Versionsverwaltung zum Einsatz kommen. Sie lernen die Modellierung eines Repositorys als Graph von Commits und damit die Grundlage für fortgeschrittene Konzepte kennen: Merge-Strategien, automatisierte Fehlersuche, Umstiegsszenarien (Subversion-Migration zu Git). Hinzu kommen die Besonderheiten dezentraler Arbeitsabläufe und deren Einfluss auf den Workflow von Projekten.
Umfang der Darstellung und Erfahrung der beiden Autoren machen das Buch zu einer unverzichtbaren Hilfe bei der Arbeit mit der modernen Versionsverwaltungssoftware.
Sprache
Verlagsort
Editions-Typ
Maße
Höhe: 24 cm
Breite: 17.6 cm
Gewicht
ISBN-13
978-3-95539-119-5 (9783955391195)
Schweitzer Klassifikation
Valentin Haenel ist Software-Entwickler und lebt in Berlin. Er hat sich auf Algorithmen, Kompressionsverfahren und Datenanalyse spezialisiert und betreibt sowohl beruflich als auch privat Open-Source-Entwicklung. Git ist seit 2008 sein Mittel der Wahl für die Versionsverwaltung.
Julius Plenz studiert Mathematik an der Freien Universität Berlin. Er veranstaltet regelmäßig Vorträge und Workshops zu Unix-Themen und ist Autor eines Buches über die Z-Shell. Bei seiner Arbeit am Rechenzentrum der FU Berlin wie auch privat setzt er Git täglich ein.
Vorwort
I Grundlagen
1 Einführung und erste Schritte
1.1 Grundbegriffe
1.2 Erste Schritte mit Git
1.3 Git konfigurieren
2 Grundlagen
2.1 Git-Kommandos
2.2 Das Objektmodell
3 Praktische Versionsverwaltung
3.1 Referenzen: Branches und Tags
3.2 Versionen wiederherstellen
3.3 Branches zusammenführen: Merges
3.4 Merge-Konflikte lösen
3.5 Einzelne Commits übernehmen: Cherry-Pick
3.6 Visualisierung von Repositories
3.7 Reflog
4 Fortgeschrittene Konzepte
4.1 Commits verschieben - Rebase
4.2 Die Geschichte umschreiben - Interaktives Rebase
4.3 Wer hat diese Änderungen gemacht? - git blame
4.4 Dateien ignorieren
4.5 Veränderungen auslagern - git stash
4.6 Commits annotieren - git notes
4.7 Mehrere Root-Commits
4.8 Regressionen finden - git bisect
5 Verteiltes Git
5.1 Wie funktioniert verteilte Versionsverwaltung?
5.2 Repositories klonen
5.3 Commits herunterladen
5.4 Commits hochladen: git push
5.5 Remotes untersuchen
5.6 Verteilter Workflow mit mehreren Remotes
5.7 Remotes verwalten
5.8 Tags austauschen
5.9 Patches per E-Mail
5.10 Ein verteilter, hierarchischer Workflow
5.11 Unterprojekte verwalten
6 Workflows
6.1 Anwender
6.2 Ein Branching-Modell
6.3 Releases-Management
II Advanced
7 Git auf dem Server
7.1 Einen Git-Server hosten
7.2 Gitolite: Git einfach hosten
7.3 Git-Daemon: Anonymer, lesender Zugriff
7.4 Gitweb: Das integrierte Web-Frontend
7.5 CGit - CGI for Git
8 Git automatisieren
8.1 Git-Attribute - Dateien gesondert behandeln
8.2 Hooks
8.3 Eigene Git-Kommandos schreiben
8.4 Versionsgeschichte umschreiben
9 Zusammenspiel mit anderen Versionsverwaltungssystemen
9.1 Subversion
9.2 Eigene Importer
III Anhang
A Installation
A.1 Linux
A.2 Mac OS X
A.3 Windows
B Shell-Integration
B.1 Git und die Bash
B.2 Git und die Z-Shell
C Github
D Struktur eines Repositorys
D.1 Aufräumen
D.2 Performance
Index