{"meta":{"title":"GitHub CLI에서 GitHub Codespace 사용","intro":"명령줄에서 GitHub Codespaces 명령줄 인터페이스인 gh를 사용하여 GitHub를 직접 사용할 수 있습니다.","product":"Codespaces","breadcrumbs":[{"href":"/ko/codespaces","title":"Codespaces"},{"href":"/ko/codespaces/developing-in-a-codespace","title":"codespace에서 개발"},{"href":"/ko/codespaces/developing-in-a-codespace/using-github-codespaces-with-github-cli","title":"GitHub CLI (GitHub 명령줄 인터페이스)"}],"documentType":"article"},"body":"# GitHub CLI에서 GitHub Codespace 사용\n\n명령줄에서 GitHub Codespaces 명령줄 인터페이스인 gh를 사용하여 GitHub를 직접 사용할 수 있습니다.\n\n## GitHub CLI 정보\n\nGitHub CLI는 컴퓨터의 명령줄에서 GitHub를 사용하기 위한 오픈 소스 도구입니다. 명령줄에서 작업하는 경우 GitHub CLI을(를) 사용하여 시간을 절약하고 컨텍스트 전환을 방지할 수 있습니다. 자세한 내용은 [GitHub CLI 정보](/ko/github-cli/github-cli/about-github-cli)을(를) 참조하세요.\n\nGitHub Codespaces에서 GitHub CLI을(를) 사용하여 다음을 수행할 수 있습니다.\n\n* [모든 codespace를 나열하세요](#list-all-of-your-codespaces)\n* [새 codespace 만들기](#create-a-new-codespace)\n* [codespace의 세부 정보 보기](#view-details-of-a-codespace)\n* [코드스페이스 중지하기](#stop-a-codespace)\n* [Codespace 삭제하기](#delete-a-codespace)\n* [codespace 이름 바꾸기](#rename-a-codespace)\n* [Codespace 다시 빌드](#rebuild-a-codespace)\n* [codespace로 SSH](#ssh-into-a-codespace)\n* [Visual Studio Code에서 codespace 열기](#open-a-codespace-in-visual-studio-code)\n* [JupyterLab에서 Codespace 열기](#open-a-codespace-in-jupyterlab)\n* [코드스페이스로/에서 파일 복사](#copy-a-file-tofrom-a-codespace)\n* [codespace의 포트 수정](#modify-ports-in-a-codespace)\n* [코드스페이스 로그에 액세스](#access-codespace-logs)\n* [원격 리소스 액세스](#access-remote-resources)\n* [codespace의 컴퓨터 형식 변경](#change-the-machine-type-of-a-codespace)\n\n## GitHub CLI 설치\n\nGitHub CLI에 대한 설치 지침은 [GitHub CLI 리포지토리](https://github.com/cli/cli#installation)를 참조하세요.\n\n## GitHub CLI 사용하기\n\n```\n          `gh auth login`을 아직 수행하지 않은 경우 실행하여 GitHub 계정으로 인증합니다.\n\n          `gh`를 사용하여 GitHub Codespaces 작업을 하려면 `gh codespace SUBCOMMAND` 또는 해당 별칭 `gh cs SUBCOMMAND`를 입력합니다.\n```\n\nGitHub Codespaces 작업을 하는 데 사용할 수 있는 일련의 명령의 예로 다음을 수행할 수 있습니다.\n\n* 현재 codespace를 나열하여 특정 리포지토리에 대한 codespace가 있는지 확인합니다.<br>\n  `gh codespace list`\n* 필요한 리포지토리 분기에 대한 새 codespace를 만듭니다.<br>\n  `gh codespace create -r github/docs -b main`\n* 새 codespace로 SSH합니다.<br>\n  `gh codespace ssh -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq`\n* 로컬 머신에 포트를 전달합니다.<br>\n  `gh codespace ports forward 8000:8000 -c octocat-literate-space-parakeet-7gwrqp9q9jcx4vq`\n\n## GitHub Codespaces에 대한 `gh` 명령\n\n아래 섹션에서는 사용 가능한 각 작업에 대한 예제 명령을 제공합니다.\n\n각 명령에 사용 가능한 모든 옵션에 대한 세부 정보를 포함하여 GitHub Codespaces에 대한 `gh` 명령의 전체 참조는 [gh codespace](https://cli.github.com/manual/gh_codespace)에 대한 GitHub CLI 온라인 도움말을 참조하세요. 대안적으로, 명령줄에서 일반 도움말을 보려면 `gh codespace --help`를 사용하고 특정 하위 명령에 대한 도움말을 보려면 `gh codespace SUBCOMMAND --help`를 사용합니다..\n\n> \\[!NOTE]\n> 많은 명령과 함께 사용되는 `-c CODESPACE_NAME` 플래그는 선택 사항입니다. 생략하면 선택할 수 있는 codespace 목록이 표시됩니다.\n\n### 모든 codespace를 나열하세요.\n\n```shell\ngh codespace list\n```\n\n목록에는 다른 `gh codespace` 명령에서 사용할 수 있는 각 codespace의 고유한 이름이 포함됩니다.\n\ncodespace의 분기 이름 끝에 있는 별표는 해당 codespace에 커밋되지 않거나 게시되지 않은 변경 내용이 있음을 나타냅니다.\n\n### 새 codespace 만들기\n\n```shell\ngh codespace create -r OWNER/REPO_NAME [-b BRANCH]\n```\n\n자세한 내용은 [리포지토리에 대한 codespace 만들기](/ko/codespaces/developing-in-a-codespace/creating-a-codespace-for-a-repository)을(를) 참조하세요.\n\n### codespace의 세부 정보 보기\n\n```shell\ngh codespace view\n```\n\n이 명령을 실행하면 기존 codespace 중 하나를 선택하라는 메시지가 표시됩니다. 그리고 나서 다음 정보가 표시됩니다.\n\n* codespace 이름\n* 상태(예: \"사용 가능\" 또는 \"종료\")\n* 리포지토리\n* Git 상태\n* codespace를 만드는 데 사용되는 개발 컨테이너 구성 파일의 경로\n* 머신 형식\n* 유휴 상태 시간 제한\n* codespace를 만든 날짜 및 시간입니다.\n* 보존 기간\n\n자세한 내용은 [GitHub CLI 참조](https://cli.github.com/manual/gh_codespace_view)를 참조하세요.\n\n### codespace를 중지하기\n\n```shell\ngh codespace stop -c CODESPACE-NAME\n```\n\n자세한 내용은 [GitHub Codespaces에 대한 심층 분석](/ko/codespaces/about-codespaces/deep-dive#closing-or-stopping-your-codespace)을(를) 참조하세요.\n\n### 코드스페이스 삭제\n\n```shell\ngh codespace delete -c CODESPACE-NAME\n```\n\n자세한 내용은 [Codespace 삭제](/ko/codespaces/developing-in-a-codespace/deleting-a-codespace)을(를) 참조하세요.\n\n### codespace 이름 바꾸기\n\n```shell\ngh codespace edit -c CODESPACE-NAME -d 'DISPLAY-NAME'\n```\n\n자세한 내용은 [codespace 이름 바꾸기](/ko/codespaces/customizing-your-codespace/renaming-a-codespace?tool=cli)을(를) 참조하세요.\n\n### Codespace 다시 빌드\n\n```shell\ngh codespace rebuild\n```\n\n전체 다시 빌드를 수행하려면 이 명령의 끝에 `--full`를 추가합니다. 자세한 내용은 [Codespace에서 컨테이너 다시 빌드](/ko/codespaces/developing-in-a-codespace/rebuilding-the-container-in-a-codespace)을(를) 참조하세요.\n\n이 명령을 사용하여 codespace를 다시 작성하는 경우 현재 codespace의 시스템에 저장된 파일을 사용합니다 `devcontainer.json` . 이 문제는 파일의 현재 상태가 원본 제어에 저장되었는지 여부에 관계없이 발생합니다. 자세한 내용은 [개발 컨테이너 소개](/ko/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)을(를) 참조하세요.\n\n### codespace로 SSH\n\n원격 codespace 머신에서 명령을 실행하려면 터미널에서 codespace로 SSH할 수 있습니다.\n\n```shell\ngh codespace ssh -c CODESPACE-NAME\n```\n\n> \\[!NOTE]\n> 연결하는 codespace는 SSH 서버를 실행해야 합니다. 기본 개발 컨테이너 이미지에는 자동으로 시작되는 SSH 서버가 포함됩니다. codespace가 기본 이미지에서 만들어지지 않은 경우 `devcontainer.json` 파일의 `features` 개체에 다음을 추가하여 SSH 서버를 설치하고 시작할 수 있습니다.\n>\n> ```jsonc\n> \"features\": {\n> // ...\n> \"ghcr.io/devcontainers/features/sshd:1\": {\n> \"version\": \"latest\"\n> },\n> // ...\n> }\n> ```\n\n```\n          `devcontainer.json` 파일과 기본 컨테이너 이미지에 대한 자세한 내용은 [AUTOTITLE](/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)을(를) 참조하세요.\n```\n\nGitHub Codespaces은(는) 원활한 인증 환경을 제공하기 위해 로컬 SSH 키를 자동으로 만듭니다. 암호화를 사용하여 연결하는 방법에 대한 자세한 내용은 [`gh codespace ssh`](https://cli.github.com/manual/gh_codespace_ssh)을 참조하세요.\n\n### Visual Studio Code에서 codespace 열기\n\n```shell\ngh codespace code -c CODESPACE-NAME\n```\n\n로컬 컴퓨터에 VS Code이(가) 설치되어 있어야 합니다. 자세한 내용은 [Visual Studio Code에서 GitHub Codespaces 사용](/ko/codespaces/developing-in-a-codespace/using-github-codespaces-in-visual-studio-code)을(를) 참조하세요.\n\n### JupyterLab에서 Codespace 열기\n\n```shell\ngh codespace jupyter -c CODESPACE-NAME\n```\n\n열려 있는 codespace에 JupyterLab 응용 프로그램을 설치해야 합니다. 기본 개발 컨테이너 이미지에는 JupyterLab이 포함되므로 기본 이미지에서 만든 codespace는 항상 JupyterLab을 설치합니다. 기본 이미지에 대한 자세한 내용은 [개발 컨테이너 소개](/ko/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers#using-the-default-dev-container-configuration) 및 [`devcontainers/images`](https://github.com/devcontainers/images/tree/main/src/universal) 리포지토리를 참조하세요. 개발 컨테이너 구성에서 기본 이미지를 사용하지 않는 경우 `devcontainer.json` 파일에 `ghcr.io/devcontainers/features/python` 기능을 추가하여 JupyterLab을 설치할 수 있습니다. 옵션 `\"installJupyterlab\": true`를 포함해야 합니다. 자세한 내용은 `devcontainers/features` 리포지토리에서 [`python`](https://github.com/devcontainers/features/tree/main/src/python#python-python) 기능에 대한 추가 정보를 참조하세요.\n\n### codespace로 파일 복사/코드스페이스에서 파일 복사\n\n```shell\ngh codespace cp [-r] SOURCE(S) DESTINATION\n```\n\n파일 또는 디렉터리 이름에 접두사 `remote:`를 사용하여 codespace에 있음을 나타냅니다. UNIX `cp` 명령과 마찬가지로 첫 번째 인수는 원본을 지정하고 마지막 인수는 대상을 지정합니다. 대상이 디렉터리인 경우 여러 원본을 지정할 수 있습니다. 원본이 디렉터리인 경우 `-r`(재귀) 플래그를 사용합니다.\n\ncodespace의 파일 및 디렉터리 위치는 원격 사용자의 홈 디렉터리를 기준으로 합니다.\n\n#### 예제\n\n* 로컬 머신에서 codespace의 `$HOME` 디렉터리로 파일을 복사합니다.\n\n  `gh codespace cp myfile.txt remote:`\n\n* codespace에서 리포지토리가 체크 아웃된 디렉터리에 파일을 복사합니다.\n\n  `gh codespace cp myfile.txt remote:/workspaces/REPOSITORY-NAME`\n\n* codespace에서 로컬 머신의 현재 디렉터리로 파일을 복사합니다.\n\n  `gh codespace cp remote:myfile.txt .`\n\n* 세 개의 로컬 파일을 codespace의 `$HOME/temp` 디렉터리에 복사합니다.\n\n  `gh codespace cp a1.txt a2.txt a3.txt remote:temp`\n\n* codespace에서 로컬 머신의 현재 작업 디렉터리로 세 개의 파일을 복사합니다.\n\n  `gh codespace cp remote:a1.txt remote:a2.txt remote:a3.txt .`\n\n* 로컬 디렉터리를 codespace의 `$HOME` 디렉터리에 복사합니다.\n\n  `gh codespace cp -r mydir remote:`\n\n* 디렉터리를 codespace에서 로컬 머신으로 복사하여 디렉터리 이름을 변경합니다.\n\n  `gh codespace cp -r remote:mydir mydir-localcopy`\n\n사용할 수 있는 추가 플래그를 포함하여 `gh codespace cp` 명령에 대한 자세한 내용은 [GitHub CLI 설명서](https://cli.github.com/manual/gh_codespace_cp)를 참조하세요.\n\n### codespace의 포트 수정\n\ncodespace의 포트를 로컬 포트로 전달할 수 있습니다. 프로세스가 실행되는 동안 포트는 전달된 상태로 유지됩니다. 포트 전달을 중지하려면 <kbd>Control</kbd>+<kbd>C</kbd>를 누릅니다.\n\n```shell\ngh codespace ports forward CODESPACE-PORT_NAME:LOCAL-PORT-NAME -c CODESPACE-NAME\n```\n\n전달된 포트의 세부 정보를 보려면 `gh codespace ports`를 입력 한 다음 codespace를 선택합니다.\n\n전달된 포트의 표시 유형을 설정할 수 있습니다. 세 가지 표시 여부 설정이 있습니다.\n\n* `private` - 자신에게만 표시됩니다. 이는 포트를 전달할 때 기본 설정입니다.\n* `org` - 리포지토리를 소유한 조직의 구성원에게 표시됩니다.\n* `public` - URL 및 포트 번호를 아는 모든 사용자에게 표시됩니다.\n\n```shell\ngh codespace ports visibility CODESPACE-PORT:private|org|public -c CODESPACE-NAME\n```\n\n하나의 명령을 사용하여 여러 포트에 대한 표시 유형을 설정할 수 있습니다. 예시:\n\n```shell\ngh codespace ports visibility 80:private 3000:public 3306:org -c CODESPACE-NAME\n```\n\n자세한 내용은 [코드스페이스에서 포트 전달](/ko/codespaces/developing-in-a-codespace/forwarding-ports-in-your-codespace)을(를) 참조하세요.\n\n### Codespace 로그에 액세스하기\n\ncodespace에 대한 생성 로그를 볼 수 있습니다. 이 명령을 입력하면 SSH 키에 대한 암호를 입력하라는 메시지가 표시됩니다.\n\n```shell\ngh codespace logs -c CODESPACE-NAME\n```\n\n생성 로그에 대한 자세한 내용은 [GitHub Codespaces 로그](/ko/codespaces/troubleshooting/github-codespaces-logs#creation-logs)을(를) 참조하세요.\n\n### 원격 리소스 액세스\n\nGitHub CLI 확장을 사용하여 codespace와 로컬 컴퓨터 간에 브리지를 만들 수 있으며, codespace는 컴퓨터에서 액세스할 수 있는 원격 리소스에 액세스할 수 있습니다. 확장 사용에 대한 자세한 내용은 [GitHub CLI 사용을 통한 원격 리소스 액세스](https://github.com/github/gh-net#codespaces-network-bridge)를 참조하세요.\n\n> \\[!NOTE]\n> GitHub CLI 확장은 현재 공개 미리 보기 버전이며 변경될 수 있습니다.\n\n### codespace의 컴퓨터 형식 변경\n\n```shell\ngh codespace edit -m MACHINE-TYPE-NAME\n```\n\n자세한 내용은 이 [codespace에 대한 컴퓨터 유형 변경](/ko/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace)의 \"GitHub CLI\" 탭을 참조하세요."}