-
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
A1.6 Anhang A: Git in anderen Umgebungen - Git in Bash
Git in Bash
Wenn Sie ein Bash-Benutzer sind, können Sie einige Funktionen Ihrer Shell nutzen, um Ihre Erfahrungen mit Git erheblich zu verbessern. Git wird tatsächlich mit Plugins für mehrere Shells geliefert, ist aber standardmäßig nicht aktiviert.
Zuerst müssen Sie eine Kopie der Completions-Datei aus dem Quellcode der von Ihnen verwendeten Git-Version erhalten. Überprüfen Sie Ihre Version, indem Sie git version eingeben, und verwenden Sie dann git checkout tags/vX.Y.Z, wobei vX.Y.Z der von Ihnen verwendeten Git-Version entspricht. Kopieren Sie die Datei contrib/completion/git-completion.bash an einen praktischen Ort, z. B. in Ihr Home-Verzeichnis, und fügen Sie Folgendes zu Ihrer .bashrc hinzu
. ~/git-completion.bash
Sobald dies geschehen ist, wechseln Sie in ein Git-Repository und geben Sie ein
$ git chec<tab>
…und Bash wird zu git checkout autovervollständigt. Dies funktioniert mit allen Git-Unterbefehlen, Kommandozeilenparametern sowie entsprechenden Remote- und Ref-Namen.
Es ist auch nützlich, Ihre Eingabeaufforderung anzupassen, um Informationen über das Git-Repository des aktuellen Verzeichnisses anzuzeigen. Dies kann so einfach oder komplex sein, wie Sie möchten, aber es gibt im Allgemeinen einige wichtige Informationen, die die meisten Leute wünschen, wie den aktuellen Branch und den Status des Arbeitsverzeichnisses. Um diese zu Ihrer Eingabeaufforderung hinzuzufügen, kopieren Sie einfach die Datei contrib/completion/git-prompt.sh aus dem Git-Quellcode-Repository in Ihr Home-Verzeichnis und fügen Sie etwas wie das Folgende zu Ihrer .bashrc hinzu
. ~/git-prompt.sh
export GIT_PS1_SHOWDIRTYSTATE=1
export PS1='\w$(__git_ps1 " (%s)")\$ '
\w bedeutet, das aktuelle Arbeitsverzeichnis auszugeben, \$ gibt den $-Teil der Eingabeaufforderung aus, und __git_ps1 " (%s)" ruft die von git-prompt.sh bereitgestellte Funktion mit einem Formatierungsargument auf. Nun wird Ihre Bash-Eingabeaufforderung, wenn Sie sich innerhalb eines Git-gesteuerten Projekts befinden, wie folgt aussehen
bash-EingabeaufforderungBeide Skripte enthalten hilfreiche Dokumentationen. Schauen Sie sich den Inhalt von git-completion.bash und git-prompt.sh an, um weitere Informationen zu erhalten.