-
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 Deine 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 VCS-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 deine 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 du PowerShell verwendest, hast du Glück.
Dies funktioniert auch, wenn du PowerShell Core unter Linux oder macOS ausführst.
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 du den Überblick über deinen Repository-Status behalten kannst.
Folgendermaßen sieht es aus:
Installation
Voraussetzungen (Nur für Windows)
Bevor du PowerShell-Skripte auf deinen Computer ausführen kannst, musst du deine lokale ExecutionPolicy auf RemoteSigned (im Allgemeinen alles außer Undefiniert und Eingeschränkt) einstellen. Wenn du AllSigned anstelle von RemoteSigned auswählst, müssen auch lokale Skripte (deine 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 du ein Administrator bist und es für alle Benutzer auf diesem Computer festlegen möchtest, verwende „-Scope LocalMachine“. Wenn du ein normaler Benutzer ohne Administratorrechte bist, kannst du „-Scope CurrentUser“ verwenden, um es nur für dich 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, verwende den nächsten Befehl:
> Set-ExecutionPolicy -Scope LocalMachine -ExecutionPolicy RemoteSigned -Force
PowerShell Galerie
Wenn du mindestens PowerShell 5 oder PowerShell 4 mit PackageManagement installiert hast, kannst du 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 du posh-git für alle Benutzer installieren möchtest, verwende stattdessen „-Scope AllUsers“ und führe 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
auftritt, musst du zuerst einen anderen Befehl ausführen:
> Install-Module PowerShellGet -Force -SkipPublisherCheck
Dann kannst du 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 deine Eingabeaufforderung aufzunehmen, muss das Posh-Git-Modul importiert werden.
Wenn posh-git bei jedem Start von PowerShell importiert werden soll, führe den Befehl Add-PoshGitToProfile aus, mit dem die import-Anweisung in dein $profile-Skript eingefügt wird.
Dieses Skript wird jedes Mal ausgeführt, wenn du eine neue PowerShell-Konsole öffnest.
Beachte, 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
Lade einfach eine posh-git-Version von (https://github.com/dahlbyk/posh-git) herunter und entpacke sie. Importiere 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 deiner profile.ps1
Datei hinzu und posh-git wird beim nächsten Öffnen von PowerShell aktiviert.
Eine Beschreibung der in der Eingabeaufforderung angezeigten Git-Statuszusammenfassungsinformationen findest du unter: https://github.com/dahlbyk/posh-git/blob/master/README.md#git-status-summary-information Weitere Informationen zum Anpassen deiner posh-git-Eingabeaufforderung findest du unter: https://github.com/dahlbyk/posh-git/blob/master/README.md#customization-variables.