GitHub Copilot für die Kommandozeile
GitHub Copilot ist nicht nur für integrierte Entwicklungsumgebungen(IDEs), es ist jetzt ein leistungsstarker Assistent in Ihrem Terminal. GitHub Copilot CLI bringt Copilot direkt in die Befehlszeile, wo sie Befehle erklären, Shellbefehle aus natürlicher Sprache vorschlagen und Ihnen helfen, sicher und interaktiv mit Ihren Dateien und Projekten zu arbeiten.
Copilot CLI verwendet gitHub-Authentifizierung und wird unabhängig von GitHub CLI ausgeführt, obwohl sie Ihre vorhandenen Anmeldeinformationen verwendet. Ganz gleich, ob Sie neu bei der Befehlszeile oder einem erfahrenen Entwickler sind, Copilot CLI reduziert Schätzarbeit und beschleunigt alltägliche Workflows.
Diese Einheit umfasst:
- Installieren und Ausführen von GitHub Copilot CLI
- Interaktive Sitzungen im Terminal
- Slash-Befehle und Eingabe in natürlicher Sprache
- Konfiguration und Optionen
Installieren und Starten von Copilot CLI
Installieren über Homebrew unter macOS und Linux:
brew install copilot-cli
Oder verwenden Sie das offizielle Installationsskript:
curl -fsSL https://gh.io/copilot-install | bash
Starten Sie copilot CLI im interaktiven Modus:
copilot
Der Bildschirm zeigt ein Willkommensbanner und einen Prompt an:
Beim ersten Start fragt Copilot, ob Sie den Dateien im aktuellen Ordner vertrauen. Copilot kann Dateien in diesem Verzeichnis während der Sitzung lesen, ändern oder ausführen, sodass Sie nur an Speicherorten fortfahren, die Sie vertrauen.
Sie können das @ verwenden, um eine bestimmte Datei auszuwählen, mit der Sie im Kontext arbeiten möchten.
Innerhalb einer interaktiven Sitzung haben Sie folgende Möglichkeiten:
- Verwenden Sie Schrägstrichbefehle (
/command), um die Sitzung zu steuern und Copilot CLI zu konfigurieren. - Geben Sie Eingabeaufforderungen für natürliche Sprache ein, um Befehle zu erläutern, vorzuschlagen oder zu überarbeiten.
Für Eingabeaufforderungen mit einem Screenshot ohne Eingabe des vollständigen interaktiven Modus:
copilot -i "explain brew install git"
copilot -i "suggest find large files and delete them"
Allgemeine Slash-Befehle
Slash-Kommandos sind explizite Sitzungssteuerungs-Kommandos. Hier sind die am häufigsten verwendeten:
| Slash-Befehl | Description |
|---|---|
/help |
Anzeigen verfügbarer Befehle und Optionen |
/explain <command> |
Bitten Sie Copilot, alle Shellbefehle zu erläutern. |
/suggest <task> |
Bitten Sie Copilot, einen Shellbefehl für eine Aufgabe vorzuschlagen. |
/revise |
Überarbeiten des letzten Vorschlags basierend auf Ihren Anweisungen |
/feedback |
Senden von Feedback zu einer Antwort oder einem Vorschlag |
/exit |
Interaktiven Modus beenden |
/model <model> |
Auswählen des zu verwendenden KI-Modells |
/theme [auto|dark|light] |
Ändern des Terminaldesigns |
/skills |
Verwalten von Fähigkeiten für erweiterte Funktionen |
/mcp |
Verwalten der MCP-Serverkonfiguration |
/list-dirs |
Anzeigen zulässiger Verzeichnisse für Dateivorgänge |
/reset-allowed-tools |
Liste der zulässigen Tools zurücksetzen |
Slash-Befehle können nicht durch Prompts in natürlicher Sprache ersetzt werden. Sie sind die einzige Möglichkeit, Sitzungseinstellungen und -konfigurationen zu steuern.
Beispiel-Workflows
1. Erläutern eines Befehls
> Explain what `git reset --hard HEAD` does
Copilot wird eine ausführliche Erläuterung liefern.
2. Vorschlagen eines Befehls
> Find and delete all .log files in my home folder
Copilot generiert einen Befehlsvorschlag und fordert Sie auf, ihn auszuführen, wenn Sie mit seinen Vorschlägen zufrieden sind.
3. Überarbeiten eines Vorschlags
Nachdem Sie einen Vorschlag erhalten haben, können Sie eine Nachverfolgungsaufforderung eingeben, um den vorgeschlagenen Befehl zu überarbeiten:
> Include only files modified in the last 7 days
4. Feedback geben
Nach einer Antwort oder einem Vorschlag:
> /feedback
Copilot fordert Sie auf, die Art des Feedbacks auszuwählen, das Sie senden möchten, und navigieren Sie dann zum entsprechenden Formular, um Ihr Feedback abzuschließen.
5. Interaktiven Modus beenden
> /exit
Konfigurationsoptionen
In Copilot CLI erfolgt die Konfiguration über:
Slash-Befehle im interaktiven Modus
-
/modelKI-Modell auswählen -
/themeTerminaldesign ändern -
/skillsVerwalten erweiterter Funktionen -
/reset-allowed-toolsZurücksetzen von Tools -
/list-dirsZulässige Verzeichnisse anzeigen -
/mcpMCP-Servereinstellungen
-
Copilot CLI-Konfiguration (nicht interaktiver Modus)
Die Copilot CLI-Konfiguration wird über Berechtigungsaufforderungen, Befehlszeilenkennzeichnungen und lokale Konfigurationsdateien verwaltet. Diese Einstellungen legen fest, worauf Copilot zugreifen kann und was es in Ihrem Auftrag tun darf.
Zu den allgemeinen Konfigurationsoptionen gehören:
- Vertrauenswürdige Verzeichnisse – Steuern, wo Copilot Dateien lesen, bearbeiten und ausführen kann.
- Toolberechtigungen – Zulassen oder Einschränken von Copilot beim Ausführen von Shellbefehlen oder Ändern von Dateien mithilfe von Flags wie
--allow-tooloder--deny-tool. - Pfadberechtigungen – Steuern, auf welche Verzeichnisse Copilot zugreifen kann.
- URL-Berechtigungen – Verwalten Sie, mit welchen externen Domänen Copilot eine Verbindung herstellen kann.
In der offiziellen GitHub Copilot CLI-Dokumentation finden Sie vollständige Konfigurationsoptionen.
Sandkastenausführungsumgebungen
GitHub Copilot CLI unterstützt Sandkastenausführungsumgebungen, mit denen Ihr System geschützt wird, während Copilot Aufgaben in Ihrem Auftrag ausführen können.
Sandkasten isoliert Befehle, Dateivorgänge und andere Aktivitäten aus Ihrer primären Entwicklungsumgebung. Je nach Workflow können Sie zwischen lokalem Sandkasten und Cloud-Sandboxing wählen.
Lokales Sandboxing
Lokales Sandboxing ermöglicht Copilot, Befehle in einer eingeschränkten Umgebung auf Ihrem Computer auszuführen.
Wenn diese Option aktiviert ist, ist der Zugriff Copilot auf Ihr Dateisystem, die Netzwerkkonnektivität und die Betriebssystemfunktionen eingeschränkt, wodurch das Risiko unbeabsichtigter Änderungen verringert wird, während Sie dennoch von agentgestützten Workflows profitieren können.
So aktivieren Sie lokale Sandboxing während einer interaktiven Sitzung:
/sandbox enable
Nach dem Aktivieren der Sandbox werden von Copilot ausgeführte Befehle innerhalb der Sandbox-Umgebung und nicht direkt auf Ihrem Hostsystem ausgeführt.
Vorteile einer lokalen Sandbox
| Benefit | Description |
|---|---|
| Verbesserte Sicherheit | Beschränkt den Zugriff auf vertrauliche Systemressourcen. |
| Sicherere Experimente | Ermöglicht Es Ihnen, agentgesteuerte Workflows mit reduziertem Risiko zu testen. |
| Lokale Ausführung | Verwendet die Ressourcen Ihres Computers, ohne dass eine Cloudinfrastruktur erforderlich ist. |
| Größere Steuerung | Bietet zusätzliche Schutzmaßnahmen bei der Verwendung autonomer Agents. |
Sandboxing in der Cloud
Die Cloud-Sandboxing ermöglicht Copilot CLI-Sitzungen, die in vollständig isolierten Linux-Umgebungen ausgeführt werden, die von GitHub gehostet werden.
Im Gegensatz zu lokalen Sandkastensitzungen werden Cloud-Sandkastensitzungen vollständig in GitHub gehosteten Infrastruktur ausgeführt und bleiben von Ihrem lokalen Computer und anderen Sandkastensitzungen getrennt.
Cloud-Sandboxing basiert auf Azure Container Apps Sandboxes, wobei GitHub die Authentifizierung, Governance, die Durchsetzung von Richtlinien und die Abrechnungsintegration bereitstellt.
So starten Sie eine Cloud-Sandbox-Sitzung:
copilot --cloud
Nach dem Start können Copilot Befehle ausführen, Dateien ändern, Tests ausführen und Entwicklungsaufgaben innerhalb der Cloudumgebung statt auf Ihrem lokalen Gerät ausführen.
Vorteile der Cloud-Sandboxing
| Benefit | Description |
|---|---|
| Starke Isolation | Workloads werden separat vom lokalen Computer ausgeführt. |
| Geräteflexibilität | Sitzungen auf verschiedenen Geräten fortsetzen. |
| Auslagerung von Ressourcen | Verwendet Cloudressourcen anstelle der lokalen CPU und des lokalen Arbeitsspeichers. |
| Parallele Ausführung | Führen Sie mehrere agentgesteuerte Aufgaben gleichzeitig aus. |
Fortsetzen von Sitzungen auf allen Geräten
Da Cloud-Sandkastensitzungen in GitHub gehosteten Infrastruktur ausgeführt werden, ist die Arbeit nicht an einen bestimmten Computer gebunden.
Dies ermöglicht Folgendes:
- Starten einer Sitzung auf einem Gerät
- Fortsetzen der gleichen Sitzung von einem anderen Gerät
- Arbeiten fortsetzen, ohne Dateien manuell zu übertragen oder Umgebungen neu zu erstellen
Diese Flexibilität ist besonders nützlich für Entwickler, die auf mehreren Computern oder Standorten arbeiten.
Sitzungslebenszyklus der Cloud-Sandbox
Cloud-Sandbox-Sitzungen können sich in drei Zuständen befinden:
| State | Description |
|---|---|
| Aktiv | Die Sitzung wird ausgeführt und ist für Interaktionen verfügbar. |
| Gestoppt | Die Sitzung ist pausiert, ihr Zustand bleibt jedoch zur späteren Verwendung erhalten. |
| Gelöscht | Die Sitzung und der gesamte gespeicherte Zustand werden dauerhaft entfernt. |
Wenn eine Sitzung beendet wird, speichert GitHub eine Momentaufnahme der Umgebung, einschließlich Dateien, Umgebungsvariablen und laufender Arbeit. Durch das Fortsetzen der Sitzung wird der gespeicherte Zustand wiederhergestellt, damit Sie fortfahren können, wo Sie aufgehört haben.
Authentifizierung und Zugriff
Cloud-Sandboxes verwenden das gleiche Authentifizierungsmodell wie GitHub Copilot CLI.
Wenn Sie sich bei GitHub Copilot CLI authentifizieren und Zugriff auf GitHub Copilot haben können, ist keine zusätzliche Cloudanbieterkonfiguration erforderlich.
Sie müssen folgendes nicht tun:
- Verwalten von API-Schlüsseln
- Konfigurieren der Cloudinfrastruktur
- Bereitstellen virtueller Computer
- Verwalten von Containerumgebungen
Hinweis
Organisations- oder Unternehmensadministratoren müssen die Cloud Sandbox-Zugriffsrichtlinie aktivieren, bevor Mitglieder Cloud-Sandkastenumgebungen verwenden können.
Lokales Sandboxing vs. Sandboxing in der Cloud
| Funktion | Lokaler Sandkasten | Cloud-Sandbox |
|---|---|---|
| Ausführungsstandort | Lokaler Computer | GitHub gehostete Umgebung |
| Ressourcennutzung | Lokale Ressourcen | Cloudressourcen |
| Isolationsstufe | Eingeschränkte lokale Umgebung | Vollständig isolierte Cloudumgebung |
| Geräteunabhängigkeit | No | Ja |
| Parallele Arbeitslasten | Beschränkt auf lokale Hardware | Einfach skalierbar |
Wann sollten Sie Sandkasten verwenden?
Erwägen Sie die Verwendung von Sandkasten in folgenden Fällen:
- Arbeiten mit unbekannten Repositorys
- Testen von vom Agent generierten Befehlen
- Ausführen autonomer Workflows
- Ausführen potenziell destruktiver Vorgänge
- Arbeiten auf mehreren Geräten
- Entladen rechenintensiver Entwicklungsaufgaben
Sandboxing bietet eine zusätzliche Ebene der Sicherheit und Flexibilität und ermöglicht es Ihnen, die Agentfunktionen von GitHub Copilot CLI sicher zu nutzen.
Tipps zur effektiven Verwendung von Copilot CLI
- Verwenden Sie den interaktiven Modus (
copilot) für explorative Aufgaben. - Verwenden Sie den Einzelschussmodus (
copilot -i) für schnelle Antworten. - Eingaben in natürlicher Sprache funktionieren – Sie benötigen nicht immer Schrägstrichbefehle.
- Überprüfen Sie immer Befehle vor der Ausführung.
- Kombinieren Sie copilot CLI mit GitHub CLI (
gh) für Repository- und Problemverwaltung. - Verwenden Sie Schrägstrichbefehle , wenn Sie strukturierte Aktionen oder Feedback wünschen.