Einführung
Über die Befehlszeilenschnittstelle (CLI) für GitHub Copilot kannst du Copilot direkt von deinem Terminal aus verwenden. Du kannst damit Fragen beantworten, Code schreiben und debuggen und mit GitHub.com interagieren. Beispielsweise kannst du Copilot anweisen, einige Änderungen an einem Projekt vorzunehmen und einen Pull Request zu erstellen.
Die GitHub Copilot-CLI bietet schnellen Zugriff auf einen leistungsstarken KI-Agent, ohne dein Terminal verlassen zu müssen. Sie kann dir helfen, Aufgaben schneller auszuführen, indem sie in deinem Namen arbeitet, und du kannst iterativ mit der GitHub Copilot-CLI arbeiten, um den benötigten Code zu erstellen.
Hinweis
Die GitHub Copilot-CLI befindet sich in der Public Preview. Änderungen sind vorbehalten.
Unterstützte Betriebssysteme
- Linux
- macOS
- Windows im Windows-Subsystem für Linux (WSL). Native Windows-Unterstützung in PowerShell ist verfügbar, jedoch experimentell.
Anweisungen zum Installieren findest du unter Installieren der GitHub Copilot-CLI.
Verwendungsmodi
Die GitHub Copilot-CLI kann in zwei Modi verwendet werden:
-
Interaktiver Modus: Starte mithilfe des Befehls
copilot
eine interaktive Sitzung. Das ist der Standardmodus für die Arbeit mit der CLI.In diesem Modus kannst du Copilot über einen Prompt anweisen, eine Frage zu beantworten oder eine Aufgabe auszuführen. Du kannst in derselben Sitzung auf Antworten von Copilot reagieren.
-
Programmgesteuerter Modus: Du kannst der CLI außerdem einen einzelnen Prompt direkt in der Befehlszeile übergeben. Dazu verwendest du die Befehlszeilenoption
-p
oder--prompt
. Damit Copilot Dateien ändern und ausführen kann, solltest du außerdem eine der Genehmigungsoptionen verwenden. Weitere Informationen findest du weiter unten in diesem Artikel unter Zulassen der Verwendung von Tools ohne manuelle Genehmigung. Zum Beispiel:Bash copilot -p "List my open PRs" --allow-all-tools
copilot -p "List my open PRs" --allow-all-tools
Alternativ kannst du ein Skript verwenden, um Befehlszeilenoptionen auszugeben und an
copilot
weiterzureichen. Zum Beispiel:Bash echo ./script-outputting-options.sh | copilot
echo ./script-outputting-options.sh | copilot
Achtung
Wenn du eine automatische Genehmigungsoption wie --allow-all-tools
verwendest, hat Copilot denselben Zugriff wie du auf Dateien auf deinem Computer und kann alle Shellbefehle ausführen, die du ausführen kannst, ohne deine vorherige Genehmigung zu erhalten. Weitere Informationen findest du weiter unten in diesem Artikel unter Überlegungen zur Sicherheit.
Anwendungsfälle für GitHub Copilot-CLI
Die folgenden Abschnitte enthalten Beispiele für Aufgaben, die du mit der GitHub Copilot-CLI ausführen kannst.
Lokale Aufgaben
-
Innerhalb eines Projektverzeichnisses kannst du Copilot anweisen, im Projekt eine Änderung am Code vorzunehmen. Zum Beispiel:
Change the background-color of H1 headings to dark blue
Copilot findet die CSS-Datei, in der H1-Überschriften definiert sind, und ändert den Farbwert.
-
So weist du Copilot an, dich über Änderungen an einer Datei zu informieren:
Show me the last 5 changes made to the CHANGELOG.md file. Who changed the file, when, and give a brief summary of the changes they made
-
Verwende Copilot, um den Code oder die Dokumentation in deinem Projekt zu verbessern.
-
Suggest improvements to content.js
-
Rewrite the readme in this project to make it more accessible to newcomers
-
-
Verwende Copilot, um Git-Vorgänge auszuführen.
-
Commit the changes to this repo
-
Revert the last commit, leaving the changes unstaged
-
-
Weise Copilot an, eine Anwendung von Grund auf neu zu erstellen, z. B. als Proof of Concept.
Use the create-next-app kit and tailwind CSS to create a next.js app. The app should be a dashboard built with data from the GitHub API. It should track this project's build success rate, average build duration, number of failed builds, and automated test pass rate. After creating the app, give me easy to follow instructions on how to build, run, and view the app in my browser.
-
Weise Copilot an, zu erläutern, warum eine vorgenommene Änderung nicht wie erwartet funktioniert, oder weise Copilot an, ein Problem mit der letzten vorgenommenen Änderung zu beheben. Zum Beispiel:
You said: "The application is now running on http://localhost:3002 and is fully functional!" but when I browse to that URL I get "This site can't be reached"
Aufgaben im Zusammenhang mit GitHub.com
-
Fetche Details zu deiner Arbeit auf GitHub.com, und zeige diese an.
-
List my open PRs
Hier werden deine offenen Pull Requests aus einem beliebigen Repository auf GitHub aufgelistet. Um spezifischere Ergebnisse zu erhalten, füge in deinem Prompt den Repositorynamen ein:
-
List all open issues assigned to me in OWNER/REPO
-
-
So weist du Copilot an, an einem Issue zu arbeiten:
I've been assigned this issue: https://github.com/octo-org/octo-repo/issues/1234. Start working on this for me in a suitably named branch.
-
Weise Copilot an, Dateiänderungen vorzunehmen und einen Pull Request für GitHub.com auszulösen.
-
In the root of this repo, add a Node script called user-info.js that outputs information about the user who ran the script. Create a pull request to add this file to the repo on GitHub.
-
Create a PR that updates the README at https://github.com/octo-org/octo-repo, changing the subheading "How to run" to "Example usage"
Copilot erstellt auf Github.com in deinem Namen einen Pull Request. Du wirst als erstellende Person des Pull Requests markiert.
-
-
Weise Copilot an, ein Issue für dich auf GitHub.com zu erstellen.
Raise an improvement issue in octo-org/octo-repo. In src/someapp/somefile.py the `file = open('data.txt', 'r')` block opens a file but never closes it.
-
Weise Copilot an, die Codeänderungen in einem Pull Request zu überprüfen.
Check the changes made in PR https://github.com/octo-org/octo-repo/pull/57575. Report any serious errors you find in these changes.
Copilot antwortet in der CLI mit einer Zusammenfassung aller gefundenen Probleme.
-
Verwalte Pull Requests von der GitHub Copilot-CLI.
-
Merge all of the open PRs that I've created in octo-org/octo-repo
-
Close PR #11 on octo-org/octo-repo
-
-
Suche nach bestimmten Arten von Issues.
Use the Github MCP server to find good first issues for a new team member to work on from octo-org/octo-repo
Hinweis
Wenn du weißt, dass ein bestimmter MCP-Server eine bestimmte Aufgabe ausführen kann, kann diese Angabe in deinem Prompt Copilot helfen, die gewünschten Ergebnisse zu liefern.
-
Suche nach bestimmten GitHub Actions-Workflows.
List any Actions workflows in this repo that add comments to PRs
-
Erstelle einen GitHub Actions-Workflow.
Branch off from main and create a github actions workflow that will run on pull requests, or can be run manually. The workflow should run eslint to check for problems in the changes made in the PR. If warnings or errors are found these should be shown as messages in the diff view of the PR. I want to prevent code with errors from being merged into main so, if any errors are found, the workflow should cause the PR check to fail. Push the new branch and create a pull request.
Sicherheitshinweise
Wenn du Copilot-CLI verwendest, kann Copilot Aufgaben wie das Ausführen oder Ändern von Dateien oder das Ausführen von Shellbefehlen in deinem Namen ausführen.
Daher solltest du bei der Verwendung von Copilot-CLI immer die Überlegungen zur Sicherheit berücksichtigen, genau wie bei der direkten Arbeit mit Dateien selbst oder beim Ausführen von Befehlen direkt in deinem Terminal. Du solltest vorgeschlagene Befehle immer sorgfältig überprüfen, wenn Copilot-CLI deine Genehmigung anfordert.
Vertrauenswürdige Verzeichnisse
Wenn du eine GitHub Copilot-CLI-Sitzung startest, wirst du aufgefordert, zu bestätigen, dass du den Dateien in und unter dem Verzeichnis vertraust, in dem du die CLI gestartet hast.
Warnung
- Du solltest nur Copilot-CLI aus Verzeichnissen starten, denen du vertraust. Du solltest Copilot-CLI nicht in Verzeichnissen mit ausführbaren Dateien verwenden, denen du nicht sicher vertrauen kannst. Wenn du die CLI über ein Verzeichnis startest, das vertrauliche Daten oder Dateien enthält, die nicht geändert werden sollen, kannst du diese Dateien versehentlich einem Risiko aussetzen. In der Regel solltest du Copilot-CLI nicht aus deine Stammverzeichnis starten.
- Das Eingrenzen von Berechtigungen ist heuristisch, und GitHub garantieren nicht, dass alle Dateien außerhalb vertrauenswürdiger Verzeichnisse geschützt werden. Weitere Informationen findest du weiter unten in diesem Artikel unter Risikominderung.
Du kannst das aktuelle Verzeichnis für Folgendes als vertrauenswürdig festlegen:
- Nur die aktuell ausgeführte Sitzung
- Diese und zukünftige Sitzungen
Wenn du das Verzeichnis für zukünftige Sitzungen als vertrauenswürdig festlegst, wird der Prompt nicht mehr für das vertrauenswürdige Verzeichnis angezeigt. Du solltest diese zweite Option nur auswählen, wenn sicher bist, dass dieser Speicherort immer ein sicherer Ort für den Betrieb von Copilot ist.
Du kannst die Liste der dauerhaft vertrauenswürdigen Verzeichnisse bearbeiten, indem du den Inhalt des Arrays trusted_folders
in der Datei config.json
der CLI angibst. Dieser befindet sich standardmäßig im Verzeichnis ~/.config
. Du kannst diesen Speicherort ändern, indem du die Umgebungsvariable XDG_CONFIG_HOME
festlegst.
Zulässige Tools
Wenn Copilot zum ersten Mal ein Tool verwenden muss, das zum Ändern oder Ausführen einer Datei verwendet werden kann (Beispiel: touch
, chmod
, node
oder sed
), wirst du gefragt, ob du die Verwendung dieses Tools zulassen möchtest.
In der Regel kannst du zwischen drei Optionen wählen:
1. Yes 2. Yes, and approve TOOL for the rest of the running session 3. No, and tell Copilot what to do differently (Esc)
Option 1 erlaubt Copilot das Ausführen dieses bestimmten Befehls nur dieses Mal. Wenn dieses Tool das nächste Mal verwendet werden muss, wirst du erneut gefragt.
Option 2 erlaubt Copilot für die Dauer der aktuell ausgeführten Sitzung die erneute Verwendung dieses Tools, ohne dich um Erlaubnis zu bitten. Dabei wirst du in neuen Sitzungen oder beim Fortsetzen der aktuellen Sitzung in Zukunft erneut um deine Genehmigung gebeten. Wenn du diese Option auswählst, erlaubst du es Copilot, dieses Tool in einer weise zu verwenden, die Copilot für angemessen hält. Wenn du beispielsweise von Copilot aufgefordert wirst, die Ausführung des Befehls rm ./this-file.txt
zuzulassen, und du Option 2 auswählst, kann Copilot während der aktuellen Ausführung dieser Sitzung einen beliebigen rm
-Befehl wie rm -rf ./*
ausführen, ohne deine Genehmigung anzufordern.
Option 3 bricht den vorgeschlagenen Befehl ab und ermöglicht es dir, Copilot anzuweisen, einen anderen Ansatz auszuprobieren.
Zulassen der Verwendung von Tools ohne manuelle Genehmigung
Es gibt drei Befehlszeilenoptionen, die du für den interaktiven oder programmgesteuerten Modus verwenden kannst, um Tools zu bestimmen, die Copilot verwenden kann, ohne deine Genehmigung anzufordern:
-
--allow-all-tools
Ermöglicht Copilot die Verwendung beliebiger Tools, ohne deine Genehmigung anzufordern
Du kannst diese Option beispielsweise mit dem programmgesteuerten Modus verwenden, um der CLI das Ausführen beliebiger Befehle zu ermöglichen. Zum Beispiel:
copilot -p "Revert the last commit" --allow-all-tools
-
--deny-tool
Verhindert, dass Copilot ein bestimmtes Tool verwendet
Diese Option hat Vorrang vor den Optionen
--allow-all-tools
und--allow-tool
. -
--allow-tool
Ermöglicht Copilot die Verwendung eines bestimmten Tools, ohne deine Genehmigung anzufordern
Verwenden der Genehmigungsoptionen
Die Optionen --deny-tool
und --allow-tool
erfordern eines der folgenden Argumente:
-
'shell(COMMAND)'
Beispielsweise verhindert
copilot --deny-tool 'shell(rm)'
, dass Copilot einenrm
-Befehl verwendet.Für die Befehle
git
undgh
kannst du einen bestimmten Unterbefehl der ersten Ebene angeben, der zugelassen oder verweigert werden soll. Zum Beispiel:copilot --deny-tool 'shell(git push)'
Die Angabe des Tools ist optional. Beispielsweise ermöglicht
copilot --allow-tool 'shell'
Copilot die Verwendung beliebiger Shellbefehle ohne individuelle Genehmigung. -
'write'
Dieses Argument erteilt Tools außer Shellbefehlen die Berechtigung zum Ändern von Dateien oder verweigert diese.
Beispielsweise ermöglicht
copilot --allow-tool 'write'
Copilot die Bearbeitung ohne deine individuelle Genehmigung. -
'MCP_SERVER_NAME'
Dieses Argument lässt Tools vom angegebenen MCP-Server zu oder verweigert diese, wobei
MCP_SERVER_NAME
der Name eines MCP-Servers ist, den du konfiguriert hast. Tools vom Server werden in Klammern angegeben, wobei der Toolname verwendet wird, der beim MCP-Server registriert ist. Wenn du den Servernamen verwendest, ohne ein Tool anzugeben, werden alle Tools dieses Servers zugelassen oder verweigert.Beispielsweise verhindert
copilot --deny-tool 'My-MCP-Server(tool_name)'
, dass Copilot das Tool namenstool_name
vom MCP-Server namensMy-MCP-Server
verwenden.Du kannst den Namen eines MCP-Servers ermitteln, indem du
/mcp
im interaktiven Modus von Copilot-CLI eingibst und den Server aus der angezeigten Liste auswählst.
Kombinieren von Genehmigungsoptionen
Du kannst eine Kombination von Genehmigungsoptionen verwenden, um genau zu bestimmen, welche Tools Copilot verwenden kann, ohne deine Genehmigung anzufordern.
Um beispielsweise zu verhindern, dass Copilot die Befehle rm
und git push
verwendet, jedoch automatisch alle weiteren Tools zulässt, verwende Folgendes:
copilot --allow-all-tools --deny-tool 'shell(rm)' --deny-tool 'shell(git push)'
Um zu verhindern, dass Copilot das Tool tool_name
vom MCP-Server namens My-MCP-Server
verwenden, jedoch zulassen, dass alle weiteren Tools von diesem Server ohne individuelle Genehmigung verwendet werden, verwende Folgendes:
copilot --allow-tool 'My-MCP-Server' --deny-tool 'My-MCP-Server(tool_name)'
Auswirkungen der automatischen Toolgenehmigung auf die Sicherheit
Es ist wichtig, sich der Sicherheitsauswirkungen der Verwendung der Befehlszeilenoptionen für die Genehmigung bewusst zu sein. Mit diesen Optionen kann Copilot Befehle ausführen, die zum Abschließen deiner Anforderung erforderlich sind, ohne dir die Möglichkeit zu geben, diese Befehle zu überprüfen und zu genehmigen, bevor sie ausgeführt werden. Dadurch werden Workflows optimiert und ein unbeaufsichtigter Betrieb der CLI ermöglicht, allerdings wird das Risiko unbeabsichtigter Aktionen erhöht, die zum Verlust oder zu Beschädigungen von Daten oder zu weiteren Sicherheitsproblemen führen können.
Risikominderung
Du kannst die Risiken im Zusammenhang mit der Verwendung der automatischen Genehmigungsoptionen minimieren, indem du Copilot-CLI in einer eingeschränkten Umgebung wie einem virtuellen Computer, Container oder dedizierten System ohne Internetzugriff verwenden. Dadurch werden alle potenziellen Schäden eingeschränkt, die auftreten können, wenn Copilot Befehle ausführen kann, die du nicht überprüft und verifiziert hast.
Modellverwendung
Das von der GitHub Copilot-CLI verwendete Standardmodell lautet Claude Sonnet 4. GitHub behält sich das Recht vor, dieses Modell zu ändern.
Du kannst das Modell in GPT-5 ändern, indem du die Umgebungsvariable COPILOT_MODEL
auf gpt-5
festlegst.
Jedes Mal, wenn du einen Prompt an Copilot im interaktiven Modus von Copilot-CLI sendest, und jedes Mal, wenn du Copilot-CLI im programmgesteuerten Modus verwendest, wird dein monatliches Kontingent von Copilot-Premium-Anforderungen um eins reduziert. Weitere Informationen zu Premium-Anforderungen findest du unter Anforderungen in GitHub Copilot.
Feedback
Sende dein Feedback zur GitHub Copilot-CLI an uns, indem du in einer interaktiven Sitzung den Schrägstrichbefehl /feedback
verwendest und eine der Optionen auswählst. Du kannst an einer privaten Feedbackumfrage teilnehmen, einen Fehlerbericht übermitteln oder ein neues Feature vorschlagen.