-
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.9 Anhang C: Git-Befehle - E-Mail
Viele Git-Projekte, einschließlich Git selbst, werden vollständig über Mailinglisten gepflegt. Git verfügt über eine Reihe integrierter Werkzeuge, die diesen Prozess erleichtern, vom Generieren von Patches, die Sie einfach per E-Mail versenden können, bis hin zum Anwenden dieser Patches aus einem E-Mail-Postfach.
git apply
Der Befehl git apply wendet einen Patch an, der mit dem Befehl git diff oder sogar dem GNU diff-Befehl erstellt wurde. Er ist ähnlich wie der Befehl patch mit einigen kleinen Unterschieden.
Wir demonstrieren die Verwendung und die Umstände, unter denen Sie ihn verwenden könnten, in Anwenden von Patches aus E-Mails.
git am
Der Befehl git am wird verwendet, um Patches aus einem E-Mail-Posteingang anzuwenden, insbesondere aus einem, das im mbox-Format vorliegt. Dies ist nützlich, um Patches per E-Mail zu empfangen und sie einfach auf Ihr Projekt anzuwenden.
Wir haben die Verwendung und den Workflow rund um git am in Anwenden eines Patches mit am behandelt, einschließlich der Verwendung der Optionen --resolved, -i und -3.
Es gibt auch eine Reihe von Hooks, die Sie verwenden können, um den Workflow rund um git am zu unterstützen, und sie werden alle in E-Mail-Workflow-Hooks behandelt.
Wir verwenden ihn auch, um Patch-formatierte Änderungen von GitHub Pull Requests in E-Mail-Benachrichtigungen anzuwenden.
git format-patch
Der Befehl git format-patch wird verwendet, um eine Reihe von Patches im mbox-Format zu generieren, die Sie ordnungsgemäß formatiert an eine Mailingliste senden können.
Wir gehen ein Beispiel für die Mitarbeit an einem Projekt mit dem Werkzeug git format-patch in Öffentliches Projekt per E-Mail durch.
git imap-send
Der Befehl git imap-send lädt ein mit git format-patch generiertes Mailbox-Format in einen IMAP-Entwürfe-Ordner hoch.
Wir gehen ein Beispiel für die Mitarbeit an einem Projekt durch, indem wir Patches mit dem Werkzeug git imap-send in Öffentliches Projekt per E-Mail senden.
git send-email
Der Befehl git send-email wird verwendet, um mit git format-patch generierte Patches per E-Mail zu senden.
Wir gehen ein Beispiel für die Mitarbeit an einem Projekt durch, indem wir Patches mit dem Werkzeug git send-email in Öffentliches Projekt per E-Mail senden.
git request-pull
Der Befehl git request-pull wird einfach verwendet, um einen Beispielnachrichtentext zu generieren, der per E-Mail an jemanden gesendet werden kann. Wenn Sie einen Branch auf einem öffentlichen Server haben und jemanden wissen lassen möchten, wie diese Änderungen integriert werden können, ohne die Patches per E-Mail zu senden, können Sie diesen Befehl ausführen und die Ausgabe an die Person senden, die die Änderungen übernehmen soll.
Wir demonstrieren die Verwendung von git request-pull zur Generierung einer Pull-Nachricht in Geforktes öffentliches Projekt.