-
1. Erste Schritte
- 1.1 Über Versionskontrolle
- 1.2 Eine kurze Geschichte von Git
- 1.3 Was ist Git?
- 1.4 Die Kommandozeile
- 1.5 Git installieren
- 1.6 Erstmalige Git-Einrichtung
- 1.7 Hilfe bekommen
- 1.8 Zusammenfassung
-
2. Git Grundlagen
-
3. Git Branching
- 3.1 Branches im Überblick
- 3.2 Grundlegendes Branching und Merging
- 3.3 Branch-Management
- 3.4 Branching-Workflows
- 3.5 Remote-Branches
- 3.6 Rebasing
- 3.7 Zusammenfassung
-
4. Git auf dem Server
- 4.1 Die Protokolle
- 4.2 Git auf einem Server einrichten
- 4.3 Generieren Ihres SSH-Public-Keys
- 4.4 Einrichten des Servers
- 4.5 Git Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Drittanbieter-Hosting-Optionen
- 4.10 Zusammenfassung
-
5. Verteiltes Git
-
6. GitHub
-
7. Git-Werkzeuge
- 7.1 Revisionsauswahl
- 7.2 Interaktives Staging
- 7.3 Stashing und Bereinigen
- 7.4 Ihre Arbeit signieren
- 7.5 Suchen
- 7.6 Historie umschreiben
- 7.7 Reset entmystifiziert
- 7.8 Fortgeschrittenes Merging
- 7.9 Rerere
- 7.10 Debugging mit Git
- 7.11 Submodule
- 7.12 Bundling
- 7.13 Ersetzen
- 7.14 Credential-Speicher
- 7.15 Zusammenfassung
-
8. Git anpassen
-
9. Git und andere Systeme
- 9.1 Git als Client
- 9.2 Migration zu Git
- 9.3 Zusammenfassung
-
10. Git-Interna
- 10.1 Plumbing und Porcelain
- 10.2 Git-Objekte
- 10.3 Git-Referenzen
- 10.4 Packfiles
- 10.5 Die Refspec
- 10.6 Übertragungsprotokolle
- 10.7 Wartung und Datenwiederherstellung
- 10.8 Umgebungsvariablen
- 10.9 Zusammenfassung
-
Anhang A: Git in anderen Umgebungen
- A1.1 Grafische Oberflächen
- A1.2 Git in Visual Studio
- A1.3 Git in Visual Studio Code
- A1.4 Git in IntelliJ / PyCharm / WebStorm / PhpStorm / RubyMine
- A1.5 Git in Sublime Text
- A1.6 Git in Bash
- A1.7 Git in Zsh
- A1.8 Git in PowerShell
- A1.9 Zusammenfassung
-
Anhang B: Git in Ihre Anwendungen einbetten
- A2.1 Kommandozeilen-Git
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
Anhang C: Git-Befehle
- A3.1 Einrichtung und Konfiguration
- A3.2 Projekte abrufen und erstellen
- A3.3 Grundlegendes Snapshotting
- A3.4 Branching und Merging
- A3.5 Projekte teilen und aktualisieren
- A3.6 Inspektion und Vergleich
- A3.7 Debugging
- A3.8 Patching
- A3.9 E-Mail
- A3.10 Externe Systeme
- A3.11 Administration
- A3.12 Plumbing-Befehle
A3.2 Anhang C: Git-Befehle - Projekte abrufen und erstellen
Projekte holen und erstellen
Es gibt zwei Möglichkeiten, ein Git-Repository zu erhalten. Eine besteht darin, es von einem vorhandenen Repository im Netzwerk oder anderswo zu kopieren, und die andere besteht darin, ein neues in einem vorhandenen Verzeichnis zu erstellen.
git init
Um ein Verzeichnis zu nehmen und es in ein neues Git-Repository zu verwandeln, damit Sie mit der Versionskontrolle beginnen können, können Sie einfach git init ausführen.
Wir stellen dies zuerst in Ein Git-Repository abrufen vor, wo wir die Erstellung eines brandneuen Repositorys zeigen, mit dem Sie arbeiten können.
Wir sprechen kurz darüber, wie Sie den Standard-Branch-Namen von „master“ in Remote-Branches ändern können.
Wir verwenden diesen Befehl, um ein leeres Bare-Repository für einen Server in Das Bare-Repository auf einem Server ablegen zu erstellen.
Schließlich gehen wir in Plumbing und Porcelain einige Details durch, was es tatsächlich hinter den Kulissen tut.
git clone
Der Befehl git clone ist eigentlich eine Art Wrapper um mehrere andere Befehle. Er erstellt ein neues Verzeichnis, wechselt hinein und führt git init aus, um es zu einem leeren Git-Repository zu machen, fügt einen Remote (git remote add) zur übergebenen URL hinzu (standardmäßig mit dem Namen origin), führt einen git fetch von diesem Remote-Repository aus und checkt dann den neuesten Commit mit git checkout in Ihr Arbeitsverzeichnis aus.
Der Befehl git clone wird an Dutzenden von Stellen im gesamten Buch verwendet, aber wir listen nur einige interessante Stellen auf.
Er wird im Grunde in Ein bestehendes Repository klonen eingeführt und erklärt, wo wir einige Beispiele durchgehen.
In Git auf einem Server installieren schauen wir uns die Option --bare an, um eine Kopie eines Git-Repositorys ohne Arbeitsverzeichnis zu erstellen.
In Bundling verwenden wir ihn, um ein gebündeltes Git-Repository zu entpacken.
Schließlich lernen wir in Ein Projekt mit Submodulen klonen die Option --recurse-submodules kennen, um das Klonen eines Repositorys mit Submodulen etwas zu vereinfachen.
Obwohl es an vielen anderen Stellen im Buch verwendet wird, sind dies die Orte, die etwas einzigartig sind oder an denen es auf eine etwas andere Weise verwendet wird.