-
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.8 Anhang A: Git in anderen Umgebungen - Git in PowerShell
Git in PowerShell
Das alte Kommandozeilen-Terminal unter Windows (cmd.exe) ist nicht wirklich für eine angepasste Git-Erfahrung geeignet, aber wenn Sie PowerShell verwenden, haben Sie Glück. Dies funktioniert auch, wenn Sie PowerShell Core unter Linux oder macOS ausführen. Ein Paket namens posh-git (https://github.com/dahlbyk/posh-git) bietet leistungsstarke Tabulator-Vervollständigungsfunktionen sowie eine erweiterte Eingabeaufforderung, die Ihnen hilft, über den Status Ihres Repositorys auf dem Laufenden zu bleiben. Es sieht so aus
Installation
Voraussetzungen (nur Windows)
Bevor Sie PowerShell-Skripte auf Ihrem Computer ausführen können, müssen Sie Ihre lokale ExecutionPolicy auf RemoteSigned setzen (im Grunde alles außer Undefined und Restricted). Wenn Sie AllSigned anstelle von RemoteSigned wählen, müssen auch lokale Skripte (Ihre eigenen) digital signiert werden, um ausgeführt werden zu können. Mit RemoteSigned müssen nur Skripte mit der ZoneIdentifier auf Internet (aus dem Web heruntergeladen) signiert werden, andere nicht. Wenn Sie ein Administrator sind und dies für alle Benutzer auf diesem Computer festlegen möchten, verwenden Sie -Scope LocalMachine. Wenn Sie ein normaler Benutzer ohne administrative Rechte sind, können Sie -Scope CurrentUser verwenden, um es nur für sich selbst festzulegen.
Mehr über PowerShell-Bereiche: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_scopes.
Mehr über die PowerShell ExecutionPolicy: https://learn.microsoft.com/en-us/powershell/module/microsoft.powershell.security/set-executionpolicy.
Um den Wert von ExecutionPolicy auf RemoteSigned für alle Benutzer festzulegen, verwenden Sie den folgenden Befehl
> Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned -Force
PowerShell Gallery
Wenn Sie mindestens PowerShell 5 oder PowerShell 4 mit installiertem PackageManagement haben, können Sie den Paketmanager verwenden, um posh-git für Sie zu installieren.
Weitere Informationen über die PowerShell Gallery: https://learn.microsoft.com/en-us/powershell/scripting/gallery/overview.
> Install-Module posh-git -Scope CurrentUser -Force
> Install-Module posh-git -Scope CurrentUser -AllowPrerelease -Force # Newer beta version with PowerShell Core support
Wenn Sie posh-git für alle Benutzer installieren möchten, verwenden Sie stattdessen -Scope AllUsers und führen Sie den Befehl von einer erhöhten PowerShell-Konsole aus. Wenn der zweite Befehl mit einer Fehlermeldung wie Module 'PowerShellGet' was not installed by using Install-Module fehlschlägt, müssen Sie zuerst einen anderen Befehl ausführen
> Install-Module PowerShellGet -Force -SkipPublisherCheck
Dann können Sie zurückgehen und es erneut versuchen. Dies geschieht, weil die mit Windows PowerShell ausgelieferten Module mit einem anderen Herausgeberzertifikat signiert sind.
PowerShell-Eingabeaufforderung aktualisieren
Um Git-Informationen in Ihre Eingabeaufforderung einzuschließen, muss das posh-git-Modul importiert werden. Um posh-git jedes Mal beim Start von PowerShell zu importieren, führen Sie den Befehl Add-PoshGitToProfile aus, der die Importanweisung in Ihr $profile-Skript einfügt. Dieses Skript wird jedes Mal ausgeführt, wenn Sie eine neue PowerShell-Konsole öffnen. Beachten Sie, dass es mehrere $profile-Skripte gibt. Zum Beispiel eines für die Konsole und ein separates für die ISE.
> Import-Module posh-git
> Add-PoshGitToProfile -AllHosts
Aus der Quelle
Laden Sie einfach eine posh-git-Version von https://github.com/dahlbyk/posh-git/releases herunter und entpacken Sie sie. Importieren Sie dann das Modul mit dem vollständigen Pfad zur Datei posh-git.psd1
> Import-Module <path-to-uncompress-folder>\src\posh-git.psd1
> Add-PoshGitToProfile -AllHosts
Dies fügt die richtige Zeile zu Ihrer profile.ps1-Datei hinzu, und posh-git ist beim nächsten Öffnen von PowerShell aktiv.
Eine Beschreibung der im Prompt angezeigten Git-Statusübersicht finden Sie unter: https://github.com/dahlbyk/posh-git/blob/master/README.md#git-status-summary-information Weitere Details zur Anpassung Ihres posh-git-Prompts finden Sie unter: https://github.com/dahlbyk/posh-git/blob/master/README.md#customization-variables.