Informationen zu GitHub CLI
GitHub 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 zur GitHub CLI.
Du kannst GitHub Codespaces in der GitHub CLI für Folgendes verwenden:
- Auflisten aller Codespaces
- Erstellen eines neuen Codespace
- Anzeigen von Details eines Codespace
- Beenden eines Codespace
- Löschen eines Codespace
- Umbenennen eines Codespaces
- Neuerstellen eines Codespaces
- Zugreifen per SSH auf einen Codespace
- Öffnen eines Codespace in Visual Studio Code
- Öffnen eines Codespaces in JupyterLab
- Kopieren einer Datei in/aus einem Codespace
- Ändern von Ports in einem Codespace
- Zugreifen auf Codespaceprotokolle
- Zugreifen auf Remoteressourcen
- Ändern des Computertyps für einen Codespace
Installieren der GitHub CLI
Installationsanweisungen für GitHub CLI findest du im GitHub CLI-Repository.
Verwenden der GitHub CLI
Wenn du dies noch nicht getan hast, führe gh auth login
aus, um dich mit deinem GitHub-Konto zu authentifizieren.
Um gh
für die Arbeit mit GitHub Codespaces zu verwenden, gibst du gh codespace SUBCOMMAND
oder den Alias gh cs SUBCOMMAND
ein.
Beispiele für verschiedene Befehle, die du mit GitHub Codespaces verwenden kannst:
- Auflisten deiner aktuellen Codespaces, um zu überprüfen, ob du über einen Codespace für ein bestimmtes Repository verfügst:
gh codespace list
- Erstellen eines neuen Codespace für den erforderlichen Repositorybranch:
gh codespace create -r github/docs -b main
- Zugreifen per SSH auf den neuen Codespace:
gh codespace ssh -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq
- Weiterleiten eines Ports an deinen lokalen Computer:
gh codespace ports forward 8000:8000 -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq
gh
-Befehle für GitHub Codespaces
Die folgenden Abschnitte enthalten Beispielbefehle für die verschiedenen verfügbaren Vorgänge.
Eine 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. 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.
Hinweis: Das Flag -c CODESPACE_NAME
, das mit vielen Befehlen verwendet wird, ist optional. Wenn du es nicht angibst, wird eine Liste von Codespaces zur Auswahl angezeigt.
Auflisten aller Codespaces
gh codespace list
Die Liste enthält den eindeutigen Namen jedes Codespace, den du in anderen gh codespace
-Befehlen verwenden kannst.
Ein 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.
Erstellen eines neuen Codespace
gh codespace create -r OWNER/REPO_NAME [-b BRANCH]
Weitere Informationen findest du unter Erstellen eines Codespaces für ein Repository.
Anzeigen von Details eines Codespace
gh codespace view
Nach dem Ausführen dieses Befehls wirst du aufgefordert, einen deiner vorhandenen Codespaces auszuwählen. Folgende Informationen werden angezeigt:
- Name des Codespace
- Zustand (z. B. „Verfügbar“ oder „Heruntergefahren“)
- Repository
- Befehl „git status“
- Pfad zur Konfigurationsdatei des Entwicklungscontainers, die zum Erstellen des Codespace verwendet wird
- Computertyp
- Leerlauftimeout
- Datum und Uhrzeit der Erstellung des Codespace
- Beibehaltungsdauer
Weitere Informationen findest du in der GitHub-CLI-Referenz.
Beenden eines Codespace
gh codespace stop -c CODESPACE-NAME
Weitere Informationen findest du unter Ausführliche Informationen zu GitHub Codespaces.
Löschen eines Codespace
gh codespace delete -c CODESPACE-NAME
Weitere Informationen findest du unter Einen Codespace löschen.
Umbenennen eines Codespaces
gh codespace edit -c CODESPACE-NAME -d 'DISPLAY-NAME'
Weitere Informationen findest du unter Umbenennen eines Codespaces.
Neuerstellen eines Codespaces
gh codespace rebuild
Um eine vollständige Neuerstellung durchzuführen, füge --full
am Ende dieses Befehls hinzu. Weitere Informationen findest du unter Neuerstellen des Containers in einem Codespace.
Wenn 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 findest du unter Einführung in Entwicklungscontainer.
Zugreifen per SSH auf einen Codespace
Um an deinem Terminal Befehle auf dem Remotecomputer mit dem Codespace auszuführen, kannst per SSH auf den Codespace zugreifen.
gh codespace ssh -c CODESPACE-NAME
Hinweis: 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:
"features": {
// ...
"ghcr.io/devcontainers/features/sshd:1": {
"version": "latest"
},
// ...
}
Weitere Informationen zur Datei devcontainer.json
und dem Standardcontainerimage findest du unter Einführung in Entwicklungscontainer.
GitHub Codespaces erstellt automatisch einen lokalen SSH-Schlüssel, um eine nahtlose Authentifizierung zu ermöglichen. Weitere Informationen zum Herstellen einer Verbindung mit Verschlüsselung findest du unter gh codespace ssh
.
Öffnen eines Codespace in Visual Studio Code
gh codespace code -c CODESPACE-NAME
VS Code muss auf deinem lokalen Computer installiert sein. Weitere Informationen findest du unter Verwenden von Github Codespaces in Visual Studio Code.
Öffnen eines Codespaces in JupyterLab
gh codespace jupyter -c CODESPACE-NAME
Die 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 Entwicklungscontainer und im devcontainers/images
-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
im Repository devcontainers/features
.
Kopieren einer Datei in/aus einem Codespace
gh codespace cp [-r] SOURCE(S) DESTINATION
Verwende 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.
Die Speicherorte von Dateien und Verzeichnissen im Codespace sind relativ zum Stammverzeichnis der Remotebenutzer*innen.
Beispiele
-
Kopieren einer Datei vom lokalen Computer in das Verzeichnis
$HOME
eines Codespace:gh codespace cp myfile.txt remote:
-
Kopieren einer Datei in das Verzeichnis, in das ein Repository in einem Codespace ausgecheckt wurde:
gh codespace cp myfile.txt remote:/workspaces/REPOSITORY-NAME
-
Kopieren einer Datei aus einem Codespace in das aktuelle Verzeichnis auf dem lokalen Computer:
gh codespace cp remote:myfile.txt .
-
Kopieren von drei lokalen Dateien in das Verzeichnis
$HOME/temp
eines Codespace:gh codespace cp a1.txt a2.txt a3.txt remote:temp
-
Kopieren von drei Dateien aus einem Codespace in das aktuelle Arbeitsverzeichnis auf dem lokalen Computer:
gh codespace cp remote:a1.txt remote:a2.txt remote:a3.txt .
-
Kopieren eines lokalen Verzeichnisses in das Verzeichnis
$HOME
eines Codespace:gh codespace cp -r mydir remote:
-
Kopieren eines Verzeichnisses aus einem Codespace auf den lokalen Computer mit Änderung des Verzeichnisnamens:
gh codespace cp -r remote:mydir mydir-localcopy
Weitere Informationen zum Befehl gh codespace cp
, einschließlich zusätzlicher Flags, die du verwenden kannst, findest du im Leitfaden zur GitHub CLI.
Ändern von Ports in einem Codespace
Du 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 STRG+C.
gh codespace ports forward CODESPACE-PORT_NAME:LOCAL-PORT-NAME -c CODESPACE-NAME
Gib gh codespace ports
ein, und wähle dann einen Codespace aus, um Details zu weitergeleiteten Ports anzuzeigen.
Du kannst die Sichtbarkeit eines weitergeleiteten Ports festlegen. Es gibt drei Sichtbarkeitseinstellungen:
private
– Nur für dich sichtbar. Dies ist die Standardeinstellung, wenn du einen Port weiterleitest.org
– Sichtbar für Mitglieder der Organisation, die das Repository besitzt.public
– Für jeden sichtbar, der die URL und die Portnummer kennt.
gh codespace ports visibility CODESPACE-PORT:private|org|public -c CODESPACE-NAME
Du kannst mit einem Befehl die Sichtbarkeit mehrerer Ports festlegen. Beispiel:
gh codespace ports visibility 80:private 3000:public 3306:org -c CODESPACE-NAME
Weitere Informationen findest du unter Weiterleiten von Ports in deinem Codespace.
Zugreifen auf Codespaceprotokolle
Du 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.
gh codespace logs -c CODESPACE-NAME
Weitere Informationen zum Erstellungsprotokoll findest du unter GitHub Codespaces-Protokolle.
Zugreifen auf Remoteressourcen
Mit 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.
Hinweis: Die GitHub CLI-Erweiterung liegt derzeit als public preview vor und kann sich noch ändern.
Ändern des Computertyps für einen Codespace
gh codespace edit -m MACHINE-TYPE-NAME
Weitere Informationen findest du auf der Registerkarte GitHub CLI unter Ändern des Computertyps für deinen Codespace.