Book description
Gits Vielfalt an Befehlen, Optionen und Konfigurationen wirkt anfangs oft einschüchternd. Dabei sind die Grundkonzepte einfach, im Alltag benötigt man nur wenige Befehle.
»Git« gibt daher zunächst eine kompakte Einführung in die wichtigen Konzepte und Befehle und beschreibt dann ausführlich deren Anwendung in typischen Workflows, z.B. »Mit Feature-Branches entwickeln« oder »Ein Release durchführen«.
Die 5. Auflage wurde komplett aktualisiert. Da Git inzwischen bei vielen Unternehmen schon lange im Einsatz ist, werden die dort versionierten Projekte auch immer größer. Deshalb ist ein neues Kapitel voll mit Tipps zum Umgang mit besonders großen Repositorys hinzugekommen.
Table of contents
- Cover
- Über den Autor
- Titel
- Impressum
- Vorwort
- Inhaltsverzeichnis
-
Erste Schritte
- 1 Grundlegende Konzepte
- 1.1 Dezentrale Versionsverwaltung – alles anders?
- 1.2 Das Repository – die Grundlage dezentralen Arbeitens
- 1.3 Branching und Merging – ganz einfach!
- 1.4 Zusammenfassung
- 2 Erste Schritte mit der Kommandozeile
- 2.1 Git einrichten
- 2.2 Ein paar Hinweise für Windows-User
- 2.3 Git einrichten
- 2.4 Das erste Projekt mit Git
- 2.5 Zusammenarbeit mit Git
- 2.6 Zusammenfassung
- 3 Erste Schritte mit SourceTree
- 3.1 SourceTree konfigurieren
- 3.2 Das erste Projekt mit Git
- 3.3 Zusammenarbeit mit Git
- 3.4 Zusammenfassung
-
Arbeiten mit Git
- 4 Was sind Commits?
- 4.1 Zugriffsberechtigungen und Zeitstempel
- 4.2 Die Befehle add und commit
- 4.3 Exkurs: Mehr über Commit-Hashes
- 4.4 Eine Historie von Commits
- 4.5 Das HEAD-Commit
- 4.6 Eine etwas andere Sichtweise auf Commits
- 4.7 Commits untersuchen
- 4.8 Viele unterschiedliche Historien desselben Projekts
- 4.9 Schreibweisen für Commits
- 4.10 Zusammenfassung
- 5 Commits zusammenstellen
- 5.1 Der status-Befehl
- 5.2 Der Stage-Bereich umfasst alle Projektdateien
- 5.3 Was tun mit Änderungen, die nicht übernommen werden sollen?
- 5.4 Mit .gitignore Dateien unversioniert lassen
- 5.5 Stashing: Änderungen zwischenspeichern
- 5.6 Zusammenfassung
- 6 Das Repository
- 6.1 Ein einfaches und effizientes Speichersystem
- 6.2 Verzeichnisse speichern: Blob und Tree
- 6.3 Gleiche Daten werden nur einmal gespeichert
- 6.4 Kompression ähnlicher Inhalte
- 6.5 Ist es schlimm, wenn verschiedene Daten zufällig denselben Hashwert bekommen?
- 6.6 Commits
- 6.7 Wiederverwendung von Objekten in der Commit-Historie
- 6.8 Umbenennen, verschieben und kopieren
- 6.9 Zusammenfassung
- 7 Branches verzweigen
- 7.1 Parallele Entwicklung
- 7.2 Bugfixes in älteren Versionen
- 7.3 Branches
- 7.4 Aktiver Branch
- 7.5 Der Master-Branch
- 7.6 Branch-Zeiger umsetzen
- 7.7 Branch löschen
- 7.8 Und was ist, wenn man die Commit-Objekte wirklich loswerden will?
- 7.9 Zusammenfassung
- 8 Branches zusammenführen
- 8.1 Was passiert bei einem Merge?
- 8.2 Konflikte
- 8.3 Fast-Forward-Merges
- 8.4 First-Parent-History
- 8.5 Knifflige Merge-Konflikte
- 8.6 Zusammenfassung
- 9 Mit Rebasing die Historie glätten
- 9.1 Das Prinzip: Kopieren von Commits
- 9.2 Und wenn es zu Konflikten kommt?
- 9.3 Was passiert mit den ursprünglichen Commits nach dem Rebasing?
- 9.4 Empfehlungen zum Rebasing
- 9.5 Cherry-Picking
- 9.6 Zusammenfassung
- 10 Repositorys erstellen, klonen und verwalten
- 10.1 Ein Repository erstellen
- 10.2 Das Repository-Layout
- 10.3 Bare-Repositorys
- 10.4 Vorhandene Dateien übernehmen
- 10.5 Ein Repository klonen
- 10.6 Wie sagt man Git, wo das Remote-Repository liegt?
- 10.7 Kurznamen für Repositorys: Remotes
- 10.8 Das Origin-Repository
- 10.9 Zusammenfassung
- 11 Austausch zwischen Repositorys
- 11.1 Fetch, Pull und Push
- 11.2 Remote-Tracking-Branches
- 11.3 Einen Remote-Branch bearbeiten
- 11.4 Ein paar Begriffe, die man kennen sollte
- 11.5 Fetch: Branches aus einem anderen Repository holen
- 11.6 Fetch: Aufrufvarianten
- 11.7 Push mit --force
- 11.8 Erweiterte Möglichkeiten
- 11.9 Zusammenfassung
- 12 Versionen markieren
- 12.1 Arbeiten mit Tags erstellen
- 12.2 Welche Tags gibt es?
- 12.3 Die Hashes zu den Tags ausgeben
- 12.4 Die Log-Ausgaben um Tags anreichern
- 12.5 In welcher Version ist es »drin«?
- 12.6 Wie verschiebt man ein Tag?
- 12.7 Und wenn ich ein »Floating Tag« brauche?
- 12.8 Zusammenfassung
- 13 Tipps und Tricks
- 13.1 Keine Panik – es gibt ein Reflog!
- 13.2 Lokale Änderungen temporär ignorieren
- 13.3 Änderungen an Textdateien untersuchen
- 13.4 alias – Abkürzungen für Git-Befehle
- 13.5 Branches als temporäre Zeiger auf Commits nutzen
- 13.6 Commits auf einen anderen Branch verschieben
- 13.7 Mehr Kontrolle bei Fetch, Push und Pull
- 13.8 Git-Version auf Ubuntu Linux aktualisieren
- Workflows
- Workflows: Entwickeln mit Git
- Workflows: Release-Prozess
- Workflows: Repositorys pflegen
-
Mehr über Git
- 28 Integration mit Jenkins
- 28.1 Vorbereitungen
- 28.2 Ein einfaches Git-Projekt einrichten
- 28.3 Hook als Build-Auslöser
- 28.4 Ein Tag für jeden erfolgreichen Build
- 28.5 Pull-Requests bauen
- 28.6 Automatischer Merge von Branches
- 28.7 Mit Jenkins Pipelines arbeiten
- 29 Große Repositorys
- 29.1 Repositorys mit sehr vielen Dateien
- 29.2 Sparse Checkout
- 29.3 Mit Watchman Dateiänderungen schneller erkennen
- 29.4 Repositorys mit großem Speicherbedarf
- 29.5 Shallow Clone
- 29.6 Zusammenfassung
- 30 Abhängigkeiten zwischen Repositorys
- 30.1 Abhängigkeiten mit Submodulen
- 30.2 Abhängigkeiten mit Subtrees
- 30.3 Zusammenfassung
- 31 Was gibt es sonst noch?
- 31.1 Worktrees – mehrere Workspaces mit einem Repository
- 31.2 Interaktives Rebasing – Historie verschönern
- 31.3 Umgang mit Patches
- 31.4 Archive erstellen
- 31.5 Grafische Werkzeuge für Git
- 31.6 Repository im Webbrowser anschauen
- 31.7 Zusammenarbeit mit Subversion
- 31.8 Hooks – Git erweitern
- 31.9 Mit Bisection Fehler suchen
- 32 Die Grenzen von Git
- 32.1 Hohe Komplexität
- 32.2 Komplizierter Umgang mit Submodulen
- 32.3 Ressourcenverbrauch bei großen binären Dateien
- 32.4 Repositorys können nur vollständig verwendet werden
- 32.5 Autorisierung nur auf dem ganzen Repository
- 32.6 Mäßige grafische Werkzeuge für die Historienauswertung
- Anhang
Product information
- Title: Git, 5th Edition
- Author(s):
- Release date: August 2019
- Publisher(s): dpunkt
- ISBN: 9783864906497
You might also like
book
Pro Git, Second Edition
Pro Git (Second Edition) is your fully-updated guide to Git and its usage in the modern …
book
Git for Programmers
Learn to track, branch, merge, and manage code revisions for real-world development scenarios Key Features Master …
book
Version Control with Git, 3rd Edition
Track, branch, merge, and manage code revisions with Git, the free and open source distributed version …
book
Jump Start Git, 2nd Edition
Get a Jump Start on version control with Git today! If you've worked on a web …