-
1. Erste Schritte
-
2. Git Grundlagen
-
3. Git Branching
- 3.1 Branches auf einen Blick
- 3.2 Einfaches 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 Erstellung eines SSH-Public-Keys
- 4.4 Einrichten des Servers
- 4.5 Git-Daemon
- 4.6 Smart HTTP
- 4.7 GitWeb
- 4.8 GitLab
- 4.9 Von Drittanbietern gehostete Optionen
- 4.10 Zusammenfassung
-
5. Verteiltes Git
-
6. GitHub
-
7. Git Tools
- 7.1 Revisions-Auswahl
- 7.2 Interaktives Stagen
- 7.3 Stashen und Bereinigen
- 7.4 Ihre Arbeit signieren
- 7.5 Suchen
- 7.6 Den Verlauf umschreiben
- 7.7 Reset entzaubert
- 7.8 Fortgeschrittenes Merging
- 7.9 Rerere
- 7.10 Debuggen mit Git
- 7.11 Submodule
- 7.12 Bundling
- 7.13 Replace (Ersetzen)
- 7.14 Anmeldeinformationen speichern
- 7.15 Zusammenfassung
-
8. Git einrichten
- 8.1 Git Konfiguration
- 8.2 Git-Attribute
- 8.3 Git Hooks
- 8.4 Beispiel für Git-forcierte Regeln
- 8.5 Zusammenfassung
-
9. Git und andere Systeme
- 9.1 Git als Client
- 9.2 Migration zu Git
- 9.3 Zusammenfassung
-
10. Git Interna
-
A1. Anhang A: Git in anderen Umgebungen
- A1.1 Grafische Schnittstellen
- 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
-
A2. Anhang B: Git in Ihre Anwendungen einbetten
- A2.1 Die Git-Kommandozeile
- A2.2 Libgit2
- A2.3 JGit
- A2.4 go-git
- A2.5 Dulwich
-
A3. Anhang C: Git Kommandos
- A3.1 Setup und Konfiguration
- A3.2 Projekte importieren und erstellen
- A3.3 Einfache Snapshot-Funktionen
- A3.4 Branching und Merging
- A3.5 Projekte gemeinsam nutzen und aktualisieren
- A3.6 Kontrollieren und Vergleichen
- A3.7 Debugging
- A3.8 Patchen bzw. Fehlerkorrektur
- A3.9 E-mails
- A3.10 Externe Systeme
- A3.11 Administration
- A3.12 Basisbefehle
A1.8 Anhang A: Git in anderen Umgebungen - Git in PowerShell
Git in PowerShell
Das Legacy-Befehlszeilenterminal unter Windows (cmd.exe
) bietet keine Git Integration, aber wenn Sie PowerShell verwenden, haben Sie Glück.
Dies funktioniert auch, wenn Sie PowerShell Core unter Linux oder macOS ausführen.
Ein Paket mit dem Namen posh-git (https://github.com/dahlbyk/posh-git) bietet leistungsstarke Funktionen zur Tab Vervollständigung sowie eine erweiterte Eingabeaufforderung, mit der Sie den Überblick über Ihren Repository-Status behalten.
Folgendermaßen sieht es aus:
![PowerShell mit Posh-git](png/posh-git.png)
Installation
Voraussetzungen (Nur für Windows)
Bevor Sie PowerShell-Skripte auf Ihrem Computer ausführen können, müssen Sie Ihre lokale ExecutionPolicy auf RemoteSigned (im Allgemeinen alles außer Undefiniert und Eingeschränkt) einstellen. Wenn Sie AllSigned anstelle von RemoteSigned auswählen, müssen auch lokale Skripte (Ihre eigenen) digital signiert sein, damit sie ausgeführt werden können. Mit RemoteSigned müssen nur Skripte signiert werden, bei denen „ZoneIdentifier“ auf Internet eingestellt ist (sie wurden aus dem Web heruntergeladen), andere nicht. Wenn Sie ein Administrator sind und es für alle Benutzer auf diesem Computer festlegen möchten, verwenden Sie „-Scope LocalMachine“. Wenn Sie ein normaler Benutzer ohne Administratorrechte sind, können Sie „-Scope CurrentUser“ verwenden, um es nur für sich selber festzulegen.
Weitere Informationen zu PowerShell-Bereichen unter: https://docs.microsoft.com/de-de/powershell/module/microsoft.powershell.core/about/about_scopes.
Weitere Informationen zu PowerShell ExecutionPolicy unter: https://docs.microsoft.com/de-de/powershell/module/microsoft.powershell.security/set-executionpolicy.
Um den Wert von ExecutionPolicy
für alle Benutzer auf RemoteSigned
zu setzen, verwenden Sie den nächsten Befehl:
> Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned -Force
PowerShell Galerie
Wenn Sie mindestens PowerShell 5 oder PowerShell 4 mit PackageManagement installiert haben, können Sie posh-git mithilfe des Paketmanagers installieren.
Weitere Informationen zur PowerShell-Galerie unter: https://docs.microsoft.com/de-de/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 über eine PowerShell-Konsole mit admin Rechten aus.
Wenn der zweite Befehl fehlschlägt und ein Fehler wie Module 'PowerShellGet' was not installed by using Install-Module
, 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 liegt daran, dass die mit Windows PowerShell gelieferten Module mit einem anderen Veröffentlichungszertifikat signiert sind.
Aktualisierung der PowerShell Eingabeaufforderung
Um Git-Informationen in Ihre Eingabeaufforderung aufzunehmen, muss das Posh-Git-Modul importiert werden.
Wenn posh-git bei jedem Start von PowerShell importiert werden soll, führen Sie den Befehl Add-PoshGitToProfile aus, mit dem die import-Anweisung in Ihr $profile-Skript eingefügt wird.
Dieses Skript wird jedes Mal ausgeführt, wenn Sie eine neue PowerShell-Konsole öffnen.
Beachten Sie, dass es mehrere $profile
Skripte gibt.
Z.B. eins für die Konsole und ein separates für die ISE.
> Import-Module posh-git
> Add-PoshGitToProfile -AllHosts
Vom Quellcode
Laden Sie einfach eine posh-git-Version von (https://github.com/dahlbyk/posh-git) herunter und entpacken Sie sie. Importieren Sie dann das Modul unter Verwendung des vollständigen Pfads 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 wird beim nächsten Öffnen von PowerShell aktiviert.
Eine Beschreibung der in der Eingabeaufforderung angezeigten Git-Statuszusammenfassungsinformationen finden Sie unter: https://github.com/dahlbyk/posh-git/blob/master/README.md#git-status-summary-information Weitere Informationen zum Anpassen Ihrer posh-git-Eingabeaufforderung finden Sie unter: https://github.com/dahlbyk/posh-git/blob/master/README.md#customization-variables.