{"meta":{"title":"Verwenden von GitHub Codespaces mit GitHub CLI","intro":"Du kannst mit GitHub Codespaces direkt über deine Befehlszeile arbeiten, indem du gh, die GitHub-CLI, verwendest.","product":"Codespaces","breadcrumbs":[{"href":"/de/codespaces","title":"Codespaces"},{"href":"/de/codespaces/developing-in-a-codespace","title":"In einem Codespace entwickeln"},{"href":"/de/codespaces/developing-in-a-codespace/using-github-codespaces-with-github-cli","title":"GitHub CLI"}],"documentType":"article"},"body":"# Verwenden von GitHub Codespaces mit GitHub CLI\n\nDu kannst mit GitHub Codespaces direkt über deine Befehlszeile arbeiten, indem du gh, die GitHub-CLI, verwendest.\n\n## Informationen zu GitHub CLI\n\nGitHub CLI ist ein Open-Source-Tool zur Verwendung von GitHub über die Befehlszeile deines Computers. Wenn du über die Befehlszeile arbeitest, kannst du die GitHub CLI verwenden, um Zeit zu sparen und Kontextwechsel zu vermeiden. Weitere Informationen findest du unter [Informationen zu GitHub CLI](/de/github-cli/github-cli/about-github-cli).\n\nDu kannst GitHub Codespaces in GitHub CLI für Folgendes verwenden:\n\n* [Liste alle Ihre Codespaces auf](#list-all-of-your-codespaces)\n* [Erstellen eines neuen Codespace](#create-a-new-codespace)\n* [Anzeigen von Details eines Codespace](#view-details-of-a-codespace)\n* [Codespace stoppen](#stop-a-codespace)\n* [Löschen eines Codespace](#delete-a-codespace)\n* [Umbenennen eines Codespaces](#rename-a-codespace)\n* [Neuerstellen eines Codespaces](#rebuild-a-codespace)\n* [Zugreifen per SSH auf einen Codespace](#ssh-into-a-codespace)\n* [Öffnen Sie einen Codespace in Visual Studio Code](#open-a-codespace-in-visual-studio-code)\n* [Öffnen eines Codespaces in JupyterLab](#open-a-codespace-in-jupyterlab)\n* [Kopieren einer Datei in/aus einem Codespace](#copy-a-file-tofrom-a-codespace)\n* [Ändern von Ports in einem Codespace](#modify-ports-in-a-codespace)\n* [Codespace-Protokolle abrufen](#access-codespace-logs)\n* [Zugreifen auf Remoteressourcen](#access-remote-resources)\n* [Ändern des Computertyps für einen Codespace](#change-the-machine-type-of-a-codespace)\n\n## Installation von GitHub CLI\n\nInstallationsanweisungen für GitHub CLI findest du im [GitHub CLI-Repository](https://github.com/cli/cli#installation).\n\n## Verwendung von GitHub CLI\n\nWenn du dies noch nicht getan hast, führe `gh auth login` aus, um dich mit deinem GitHub-Konto zu authentifizieren.\n\nUm `gh` für die Arbeit mit GitHub Codespaces zu verwenden, gibst du `gh codespace SUBCOMMAND` oder den Alias `gh cs SUBCOMMAND` ein.\n\nBeispiele für verschiedene Befehle, die du mit GitHub Codespaces verwenden kannst:\n\n* Auflisten deiner aktuellen Codespaces, um zu überprüfen, ob du über einen Codespace für ein bestimmtes Repository verfügst:<br>\n  `gh codespace list`\n* Erstellen eines neuen Codespaces für den erforderlichen Repository-Branch.<br>\n  `gh codespace create -r github/docs -b main`\n* Zugreifen per SSH auf den neuen Codespace:<br>\n  `gh codespace ssh -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq`\n* Weiterleiten eines Ports an deinen lokalen Computer:<br>\n  `gh codespace ports forward 8000:8000 -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq`\n\n##\n\n```\n          `gh`-Befehle für GitHub Codespaces\n```\n\nDie folgenden Abschnitte enthalten Beispielbefehle für die verschiedenen verfügbaren Vorgänge.\n\nEine vollständige Referenz der `gh`-Befehle für GitHub Codespaces, einschließlich Details aller verfügbaren Optionen für jeden Befehl, findest du in der Onlinehilfe zur GitHub CLI für [gh codespace](https://cli.github.com/manual/gh_codespace). Alternativ kannst du in der Befehlszeile auch `gh codespace --help` für die allgemeine Hilfe oder `gh codespace SUBCOMMAND --help` für die Hilfe zu einem bestimmten Unterbefehl verwenden.\n\n> \\[!NOTE]\n> Das `-c CODESPACE_NAME`-Flag, das mit vielen Befehlen verwendet wird, ist optional. Wenn du es nicht angibst, wird eine Liste von Codespaces zur Auswahl angezeigt.\n\n### Auflisten aller Codespaces\n\n```shell\ngh codespace list\n```\n\nDie Liste enthält den eindeutigen Namen jedes Codespace, den du in anderen `gh codespace`-Befehlen verwenden kannst.\n\nEin Sternchen am Ende des Branchnamens für einen Codespace zeigt an, dass es in diesem Codespace Änderungen gibt, die noch nicht committet oder gepusht wurden.\n\n### Erstellen eines neuen Codespaces\n\n```shell\ngh codespace create -r OWNER/REPO_NAME [-b BRANCH]\n```\n\nWeitere Informationen finden Sie unter [Erstellen eines Codespaces für ein Repository](/de/codespaces/developing-in-a-codespace/creating-a-codespace-for-a-repository).\n\n### Anzeigen von Details eines Codespaces\n\n```shell\ngh codespace view\n```\n\nNach dem Ausführen dieses Befehls wirst du aufgefordert, einen deiner vorhandenen Codespaces auszuwählen. Folgende Informationen werden angezeigt:\n\n* Name des Codespace\n* Zustand (z. B. „Verfügbar“ oder „Abgeschaltet“)\n* Repository\n* Befehl „git status“\n* Pfad zur Konfigurationsdatei des Entwicklungscontainers, die zum Erstellen des Codespace verwendet wird\n* Computertyp\n* Leerlaufzeitüberschreitung\n* Datum und Uhrzeit der Erstellung des Codespace\n* Beibehaltungsdauer\n\nWeitere Informationen findest du in der [GitHub-CLI-Referenz](https://cli.github.com/manual/gh_codespace_view).\n\n### Stoppen eines Codespace\n\n```shell\ngh codespace stop -c CODESPACE-NAME\n```\n\nWeitere Informationen finden Sie unter [Ausführliche Informationen zu GitHub Codespaces](/de/codespaces/about-codespaces/deep-dive#closing-or-stopping-your-codespace).\n\n### Löschen eines Codespaces\n\n```shell\ngh codespace delete -c CODESPACE-NAME\n```\n\nWeitere Informationen finden Sie unter [Einen Codespace löschen](/de/codespaces/developing-in-a-codespace/deleting-a-codespace).\n\n### Umbenennen eines Codespaces\n\n```shell\ngh codespace edit -c CODESPACE-NAME -d 'DISPLAY-NAME'\n```\n\nWeitere Informationen finden Sie unter [Umbenennen eines Codespaces](/de/codespaces/customizing-your-codespace/renaming-a-codespace?tool=cli).\n\n### Neuerstellen eines Codespaces\n\n```shell\ngh codespace rebuild\n```\n\nUm eine vollständige Neuerstellung durchzuführen, füge `--full` am Ende dieses Befehls hinzu. Weitere Informationen finden Sie unter [Neuerstellen des Containers in einem Codespace](/de/codespaces/developing-in-a-codespace/rebuilding-the-container-in-a-codespace).\n\nWenn du diesen Befehl verwendest, um einen Codespace neu zu erstellen, wird die `devcontainer.json`-Datei verwendet, die derzeit im System des Codespaces gespeichert ist. Dies geschieht unabhängig davon, ob der aktuelle Status der Datei in der Quellcodeverwaltung gespeichert wurde. Weitere Informationen finden Sie unter [Einführung in Dev-Container](/de/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers).\n\n### Zugreifen per SSH auf einen Codespace\n\nUm Befehle von deinem Terminal auf dem Remote-Codespace-Computer auszuführen, kannst du per SSH auf den Codespace zugreifen.\n\n```shell\ngh codespace ssh -c CODESPACE-NAME\n```\n\n> \\[!NOTE]\n> Der Codespace, mit dem du eine Verbindung herstellst, muss einen SSH-Server ausführen. Das Standard-Dev-Containerimage enthält einen SSH-Server, der automatisch gestartet wird. Wenn deine Codespaces nicht mithilfe des Standardimages erstellt werden, kannst du einen SSH-Server installieren und starten, indem du dem `features`-Objekt in deiner `devcontainer.json`-Datei Folgendes hinzufügst:\n>\n> ```jsonc\n> \"features\": {\n> // ...\n> \"ghcr.io/devcontainers/features/sshd:1\": {\n> \"version\": \"latest\"\n> },\n> // ...\n> }\n> ```\n>\n> Weitere Informationen zur Datei `devcontainer.json` und dem Standardcontainerimage findest du unter [Einführung in Dev-Container](/de/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers).\n\nGitHub Codespaces erstellt automatisch einen lokalen SSH-Schlüssel, um eine nahtlose Authentifizierung zu ermöglichen. Weitere Informationen zum Herstellen einer Verbindung mit SSH finden Sie unter [`gh codespace ssh`](https://cli.github.com/manual/gh_codespace_ssh).\n\n### Öffnen eines Codespaces in Visual Studio Code\n\n```shell\ngh codespace code -c CODESPACE-NAME\n```\n\nVS Code muss auf deinem lokalen Computer installiert sein. Weitere Informationen finden Sie unter [Verwenden von GitHub Codespaces in Visual Studio Code](/de/codespaces/developing-in-a-codespace/using-github-codespaces-in-visual-studio-code).\n\n### Öffnen eines Codespaces in JupyterLab\n\n```shell\ngh codespace jupyter -c CODESPACE-NAME\n```\n\nDie JupyterLab-Anwendung muss in dem Codespace installiert sein, den du öffnest. Das Standard-Dev-Containerimage enthält JupyterLab, sodass bei Codespaces, die mithilfe des Standardimages erstellt wurden, JupyterLab immer installiert ist. Weitere Informationen zum Standardimage findest du unter [Einführung in Dev-Container](/de/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#using-the-default-dev-container-configuration) und im [`devcontainers/images`](https://github.com/devcontainers/images/tree/main/src/universal)-Repository. Wenn du nicht das Standardimage in deiner Entwicklungscontainerkonfiguration verwendest, kannst du JupyterLab installieren, indem du das Feature `ghcr.io/devcontainers/features/python` zur Datei `devcontainer.json` hinzufügst. Du solltest die Option `\"installJupyterlab\": true` einfügen. Weitere Informationen findest du in der Infodatei für das Feature [`python`](https://github.com/devcontainers/features/tree/main/src/python#python-python) im Repository `devcontainers/features`.\n\n### Kopieren einer Datei in/aus einem Codespace\n\n```shell\ngh codespace cp [-r] SOURCE(S) DESTINATION\n```\n\nVerwende das Präfix `remote:` für Datei- oder Verzeichnisnamen, um anzugeben, dass sie sich im Codespace befinden. Wie beim UNIX-Befehl `cp` gibt das erste Argument die Quelle und das letzte das Ziel an. Wenn das Ziel ein Verzeichnis ist, kannst du mehrere Quellen angeben. Verwende das Flag `-r` (rekursiv), wenn eine der Quellen ein Verzeichnis ist.\n\nDie Speicherorte von Dateien und Verzeichnissen im Codespace sind relativ zum Stammverzeichnis der Remotebenutzer\\*innen.\n\n#### Beispiele\n\n* Kopieren einer Datei vom lokalen Computer in das Verzeichnis `$HOME` eines Codespace:\n\n  `gh codespace cp myfile.txt remote:`\n\n* Kopieren einer Datei in das Verzeichnis, in das ein Repository in einem Codespace ausgecheckt wurde:\n\n  `gh codespace cp myfile.txt remote:/workspaces/REPOSITORY-NAME`\n\n* Kopieren einer Datei aus einem Codespace in das aktuelle Verzeichnis auf dem lokalen Computer:\n\n  `gh codespace cp remote:myfile.txt .`\n\n* Kopieren von drei lokalen Dateien in das Verzeichnis `$HOME/temp` eines Codespace:\n\n  `gh codespace cp a1.txt a2.txt a3.txt remote:temp`\n\n* Kopieren von drei Dateien aus einem Codespace in das aktuelle Arbeitsverzeichnis auf dem lokalen Computer:\n\n  `gh codespace cp remote:a1.txt remote:a2.txt remote:a3.txt .`\n\n* Kopieren eines lokalen Verzeichnisses in das Verzeichnis `$HOME` eines Codespace:\n\n  `gh codespace cp -r mydir remote:`\n\n* Kopieren eines Verzeichnisses aus einem Codespace auf den lokalen Computer mit Änderung des Verzeichnisnamens:\n\n  `gh codespace cp -r remote:mydir mydir-localcopy`\n\nWeitere Informationen zum Befehl `gh codespace cp`, einschließlich zusätzlicher Flags, die du verwenden kannst, findest du im [Leitfaden zur GitHub CLI](https://cli.github.com/manual/gh_codespace_cp).\n\n### Ändern von Ports in einem Codespace\n\nDu kannst einen Port in einem Codespace an einen lokalen Port weiterleiten. Der Port wird solange weitergeleitet, wie der Prozess ausgeführt wird. Um die Weiterleitung des Ports zu beenden, drückst du <kbd>STRG</kbd>+<kbd>C</kbd>.\n\n```shell\ngh codespace ports forward CODESPACE-PORT_NAME:LOCAL-PORT-NAME -c CODESPACE-NAME\n```\n\nGib `gh codespace ports` ein, und wähle dann einen Codespace aus, um Details zu weitergeleiteten Ports anzuzeigen.\n\nDu kannst die Sichtbarkeit eines weitergeleiteten Ports festlegen. Es gibt drei Sichtbarkeitseinstellungen:\n\n* `private` – Nur für dich sichtbar. Dies ist die Standardeinstellung, wenn du einen Port weiterleitest.\n* `org` – Sichtbar für Mitglieder der Organisation, die das Repository besitzt.\n* `public` – Für jeden sichtbar, der die URL und die Portnummer kennt.\n\n```shell\ngh codespace ports visibility CODESPACE-PORT:private|org|public -c CODESPACE-NAME\n```\n\nDu kannst mit einem Befehl die Sichtbarkeit mehrerer Ports festlegen. Zum Beispiel:\n\n```shell\ngh codespace ports visibility 80:private 3000:public 3306:org -c CODESPACE-NAME\n```\n\nWeitere Informationen finden Sie unter [Weiterleitung von Ports in Ihrem Codespace](/de/codespaces/developing-in-a-codespace/forwarding-ports-in-your-codespace).\n\n### Auf Codespace-Protokolle zugreifen\n\nDu kannst das Erstellungsprotokoll für einen Codespace anzeigen. Nachdem du diesen Befehl eingegeben hast, wirst du aufgefordert, die Passphrase für deinen SSH-Schlüssel einzugeben.\n\n```shell\ngh codespace logs -c CODESPACE-NAME\n```\n\nWeitere Informationen zum Erstellungsprotokoll findest du unter [GitHub Codespaces-Protokolle](/de/codespaces/troubleshooting/github-codespaces-logs#creation-logs).\n\n### Zugreifen auf Remoteressourcen\n\nMit der GitHub CLI-Erweiterung kannst du eine Brücke zwischen einem Codespace und deinem lokalen Computer erstellen, sodass der Codespace auf jede Remoteressource zugreifen kann, die über deinen Computer zugänglich ist. Weitere Informationen zur Verwendung der Erweiterung findest du unter [Verwenden von GitHub CLI für den Zugriff auf Remoteressourcen](https://github.com/github/gh-net#codespaces-network-bridge).\n\n> \\[!NOTE]\n> Die GitHub CLI-Erweiterung befindet sich derzeit in der öffentliche Vorschau und ist Änderungen vorbehalten.\n\n### Ändern des Computertyps für einen Codespace\n\n```shell\ngh codespace edit -m MACHINE-TYPE-NAME\n```\n\nWeitere Informationen findest du auf der Registerkarte „GitHub CLI“ unter [Ändern des Computertyps für deinen Codespace](/de/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace)."}