# 템플릿에서 codespace 만들기

새 프로젝트를 시작할 때는 빈 템플릿에서 codespace를 만들거나 수행하려는 작업 유형에 맞는 템플릿을 선택할 수 있습니다.

# GitHub Codespaces용 템플릿 정보

새 프로젝트를 시작할 때 템플릿을 사용하여 codespace를 생성하면 개발 작업을 빠르게 시작할 수 있습니다. 클라우드 기반 개발 환경에서 프로젝트 작업을 하고, 파일을 클라우드에 저장하며, 다른 사용자와 공유하거나 로컬 컴퓨터에 복제할 수 있습니다. 또한 새 원격 리포지토리에 작업을 게시할 수도 있습니다.

빈 템플릿에서 시작하거나, React 또는 Jupyter Notebook 같은 인기 있는 기술에 대해 유지 관리되는 GitHub 템플릿 중에서 선택하거나, 템플릿 리포지토리에서 코드스페이스를 시작할 수 있습니다GitHub.

빈 템플릿을 사용하면 클라우드 기반 컴퓨팅 리소스와 함께 기본 개발 컨테이너 이미지, 미리 설치된 도구, 언어 및 런타임 환경에 액세스할 수 있는 빈 디렉터리에서 시작할 수 있습니다. 다른 템플릿을 사용하면 작업 중인 기술에 대한 시작 파일뿐만 아니라, 일반적으로 일부 사용자 지정 환경 구성, 추가 정보 파일, README 파일, `.gitignore` 개발 컨테이너 구성 파일 등 추가적인 파일들을 얻을 수 있습니다. 개발 컨테이너 및 기본 이미지에 대한 자세한 내용은 [개발 컨테이너 소개](/ko/codespaces/setting-up-your-project-for-codespaces/adding-a-dev-container-configuration/introduction-to-dev-containers)을(를) 참조하세요.

예를 들어' React 템플릿에서 GitHub코드스페이스를 만드는 경우 간단한 애플리케이션(예: `index.js``app.js`, 및`package.json`)에 대한 템플릿 파일이 포함된 작업 영역에 도착합니다. 코드스페이스가 열린 직후 개발 서버가 자동으로 시작되고 웹 클라이언트 내의 간단한 브라우저 탭에서 실행 중인 애플리케이션을 VS Code 볼 수 있습니다.

![VS Code의 간단한 브라우저에서 GitHub의 React 템플릿으로 렌더링된 웹 애플리케이션의 스크린샷](/assets/images/help/codespaces/react-template.png)

템플릿에 포함되는 파일과 구성 요소는 해당 템플릿 저장소에 정의되어 있습니다. Codespace가 생성되면 템플릿 리포지토리가 해당 Codespace에 복제됩니다. 그 후 링크가 끊어지면, 게시하기 전까지 codespace는 원격 리포지토리에 연결되지 않습니다.

> \[!TIP]
> 다른 사람들이 귀하의 프레임워크, 라이브러리 또는 기타 프로젝트를 시작하는 데 도움이 되도록 GitHub Codespaces와 함께 사용할 템플릿 리포지토리를 설정할 수 있습니다. 자세한 내용은 [GitHub Codespaces에 대한 템플릿 리포지토리 설정](/ko/codespaces/setting-up-your-project-for-codespaces/setting-up-your-repository/setting-up-a-template-repository-for-github-codespaces)을(를) 참조하세요.

## GitHub 템플릿에서 코드스페이스 만들기

빈 템플릿을 포함하여 유지 관리되는 GitHub템플릿은 "코드스페이스" 페이지에서 사용할 수 있습니다.

1. GitHub의 왼쪽 위 모서리에서 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-three-bars" aria-label="Open global navigation menu" role="img"><path d="M1 2.75A.75.75 0 0 1 1.75 2h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 2.75Zm0 5A.75.75 0 0 1 1.75 7h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 7.75ZM1.75 12h12.5a.75.75 0 0 1 0 1.5H1.75a.75.75 0 0 1 0-1.5Z"></path></svg>를 선택하고 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-codespaces" aria-label="codespaces" role="img"><path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path></svg> Codespace**를 클릭한 다음 [github.com/codespaces](https://github.com/codespaces)의 "내 codespace" 페이지로 이동합니다.

2. 템플릿의 전체 목록을 보려면 "빠른 시작 템플릿 탐색" 섹션에서 **모두 보기**를 클릭합니다.

   !["빠른 시작 템플릿 탐색" 섹션의 스크린샷입니다. "모두 보기"는 진한 주황색 윤곽선으로 강조 표시됩니다.](/assets/images/help/codespaces/codespace-templates-see-all.png)

3. 필요에 따라 템플릿 파일이 포함된 템플릿 리포지토리를 보려면 템플릿 이름을 클릭하세요.

   !["빠른 시작 템플릿 탐색" 섹션의 스크린샷입니다. 세 가지의 템플릿이 나열됩니다. 템플릿 이름은 주황색 테두리로 강조 표시됩니다.](/assets/images/help/codespaces/react-template-name.png)

4. 시작하려는 템플릿의 이름 아래에 있는 **이 템플릿 사용** 버튼을 클릭합니다.

템플릿으로 새 코드스페이스를 만들면 항상 Visual Studio Code 웹 클라이언트에서 열립니다. 지원되는 모든 편집기에서 기존 codespace를 다시 열 수 있습니다. 자세한 내용은 [기존 Codespace 열기](/ko/codespaces/developing-in-a-codespace/opening-an-existing-codespace)을(를) 참조하세요.

## 템플릿 리포지토리에서 codespace 만들기

템플릿 리포지토리에서 Codespace를 생성한 후, 준비가 완료되면 새로운 리포지토리에 작업을 게시할 수 있습니다. 템플릿 리포지토리에 대한 자세한 내용은 [템플릿에서 리포지토리 만들기](/ko/repositories/creating-and-managing-repositories/creating-a-repository-from-a-template#about-repository-templates)을(를) 참조하세요.

1. GitHub에서 리포지토리의 기본 페이지로 이동합니다.
2. **이 템플릿 사용**을 클릭한 다음, **codespace에서 열기**를 클릭합니다.

   !["이 템플릿 사용" 단추와 "codespace에서 열기" 옵션을 표시하도록 확장된 드롭다운 메뉴의 스크린샷.](/assets/images/help/repository/use-this-template-button.png)

   > \[!NOTE]
   > 템플릿 리포지토리의 유지 관리자이고 템플릿 리포지토리 자체에 변경 내용을 커밋하려는 경우 코드 드롭다운에서 코드스페이 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-code" aria-label="code" role="img"><path d="m11.28 3.22 4.25 4.25a.75.75 0 0 1 0 1.06l-4.25 4.25a.749.749 0 0 1-1.275-.326.749.749 0 0 1 .215-.734L13.94 8l-3.72-3.72a.749.749 0 0 1 .326-1.275.749.749 0 0 1 .734.215Zm-6.56 0a.751.751 0 0 1 1.042.018.751.751 0 0 1 .018 1.042L2.06 8l3.72 3.72a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L.47 8.53a.75.75 0 0 1 0-1.06Z"></path></svg>** 스를 만들어야 합니다. 자세한 내용은 [리포지토리에 대한 codespace 만들기](/ko/codespaces/developing-in-a-codespace/creating-a-codespace-for-a-repository#creating-a-codespace-for-a-repository)을(를) 참조하세요.

템플릿으로 새 코드스페이스를 만들면 항상 Visual Studio Code 웹 클라이언트에서 열립니다. 지원되는 모든 편집기에서 기존 codespace를 다시 열 수 있습니다. 자세한 내용은 [기존 Codespace 열기](/ko/codespaces/developing-in-a-codespace/opening-an-existing-codespace)을(를) 참조하세요.

## GitHub의 리포지토리에 게시

템플릿에서 만든 코드스페이스에서 작업하는 경우 작업은 클라우드의 가상 머신에 저장되지만 GitHub의 리포지토리에 저장되지 않습니다.

파일을 저장하고, codespace를 닫고 중지하고, 나중에 작업으로 돌아갈 수 있습니다. 일반적으로 Git은 미리 설치되며 작업 디렉터리는 GitHub의 빈 템플릿에서 시작하지 않는 한 Git 리포지토리로 자동 초기화됩니다. 즉, 파일 추가 및 커밋과 같은 로컬 원본 제어에 Git을 즉시 사용할 수 있습니다.

그러나 게시되지 않은 codespace를 삭제하거나 보존 기간 동안 사용되지 않은 상태로 유지되어 자동으로 삭제되는 경우, 작업도 삭제됩니다. 작업을 지속하고 다른 사용자가 프로젝트에서 작업할 수 있도록 하려면 GitHub의 리포지토리에 codespace를 게시해야 합니다.

> \[!NOTE]
> 게시되지 않은 codespace가 현재 조직에 청구되는 경우, codespace를 게시하면 codespace의 소유권과 청구가 개인 계정으로 전송됩니다. [GitHub Codespaces 청구](/ko/billing/concepts/product-billing/github-codespaces#how-costs-are-assigned-to-a-billable-account)을(를) 참조하세요.

### VS Code에서 게시

codespace에서 작업하는 경우 VS Code 웹 클라이언트 또는 데스크톱 애플리케이션에서 게시할 수 있습니다.

1. 작업 표시줄에서 **Source Control**(원본 제어) 보기를 클릭합니다.

   ![소스 제어 단추가 주황색 윤곽선으로 강조 표시된 VS Code 작업 표시줄의 스크린샷.](/assets/images/help/codespaces/source-control-activity-bar-button.png)

2. 변경 내용을 스테이징하려면 추가하거나 변경한 파일 옆의 **+** 를 클릭하거나 여러 파일을 변경하고 모두 스테이징하려는 경우 **변경 사항** 옆을 클릭합니다.

   !["변경 내용" 오른쪽에 스테이징 단추(더하기 기호)가 있는 "소스 제어" 사이드바의 스크린샷, 진한 주황색 윤곽선이 강조 표시되어 있습니다.](/assets/images/help/codespaces/codespaces-commit-stage.png)

   > \[!NOTE]
   > GitHub의 빈 템플릿에서 시작하는 경우 디렉터리를 Git 리포지토리로 이미 초기화하지 않은 한 변경 내용 목록이 표시되지 않습니다. 빈 템플릿에서 만든 codespace를 게시하려면 "소스 제어" 보기에서 **GitHub에 게시**를 클릭한 다음 5단계로 건너뜁니다.

3. 스테이징된 변경 사항을 커밋하려면 변경 내용을 설명하는 커밋 메시지를 입력한 다음 **커밋**을 클릭합니다.

   ![커밋 메시지가 있는 "소스 제어" 사이드바의 스크린샷과 그 아래에는 진한 주황색 윤곽선이 강조 표시된 "커밋" 단추가 있습니다.](/assets/images/help/codespaces/vscode-commit-button.png)

4. **분기 게시**를 클릭합니다.

   !["분기 게시" 단추를 보여 주는 "소스 제어" 사이드바의 스크린샷.](/assets/images/help/codespaces/vscode-publish-branch-button.png)

5. "리포지토리 이름" 드롭다운에서 새 리포지토리의 이름을 입력한 다음 **GitHub 프라이빗 리포지토리에 게시**를 선택하거나 **GitHub 퍼블릭 리포지토리 게시**를 선택합니다.

   ![VS Code의 리포지토리 이름 드롭다운 스크린샷. 개인용 또는 공용 리포지토리에 게시하는 두 가지 옵션이 표시됩니다.](/assets/images/help/codespaces/choose-new-repository.png)

   새 리포지토리의 소유자는 codespace를 만든 GitHub 계정이 됩니다.

6. 필요에 따라 편집기의 오른쪽 아래 모서리에 나타나는 팝업에서 **GitHub에서 열기**를 클릭하여 GitHub에서 새 리포지토리를 봅니다.

   !["GitHub에서 열기" 단추를 보여 주는 성공적으로 게시된 리포지토리에 대한 확인 메시지의 스크린샷.](/assets/images/help/codespaces/open-on-github.png)

코드스페이스가 게시되면 환경을 사용자 지정할 수 있는 다양한 옵션에 액세스할 수 있습니다 GitHub Codespaces . 예를 들어, 다음을 수행할 수 있습니다.

* 작업에 적합한 리소스를 사용할 수 있도록 Codespace의 머신 유형을 변경합니다.([codespace에 대한 컴퓨터 유형 변경](/ko/codespaces/customizing-your-codespace/changing-the-machine-type-for-your-codespace) 참조).
* GitHub GPG를 사용하여 코드스페이스에서 만드는 커밋에 자동으로 서명할 수 있습니다([GitHub Codespaces에 대한 GPG 확인 관리](/ko/codespaces/managing-your-codespaces/managing-gpg-verification-for-github-codespaces) 참조).
* Codespace와 비밀을 공유합니다[GitHub Codespaces에 대한 계정별 비밀 관리](/ko/codespaces/managing-your-codespaces/managing-your-account-specific-secrets-for-github-codespaces)) 참조).

### GitHub에서 게시

GitHub의 "Your codespaces" 페이지에서 미게시 코드스페이스를 게시할 수 있습니다. 이 기능은 현재 브라우저에서 열려 있지 않은 Codespace를 게시하려 할 때 유용합니다. 이렇게 하면 작업 내용은 리포지토리에 보존되지만, 기존 Codespace와 새로운 리포지토리가 연결되지는 않습니다. 하지만 새 리포지토리로 이동하여 해당 위치에서 codespace를 생성할 수 있으며, 생성된 codespace는 해당 리포지토리에 연결됩니다.

1. GitHub의 왼쪽 위 모서리에서 <svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-three-bars" aria-label="Open global navigation menu" role="img"><path d="M1 2.75A.75.75 0 0 1 1.75 2h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 2.75Zm0 5A.75.75 0 0 1 1.75 7h12.5a.75.75 0 0 1 0 1.5H1.75A.75.75 0 0 1 1 7.75ZM1.75 12h12.5a.75.75 0 0 1 0 1.5H1.75a.75.75 0 0 1 0-1.5Z"></path></svg>를 선택하고 **<svg version="1.1" width="16" height="16" viewBox="0 0 16 16" class="octicon octicon-codespaces" aria-label="codespaces" role="img"><path d="M0 11.25c0-.966.784-1.75 1.75-1.75h12.5c.966 0 1.75.784 1.75 1.75v3A1.75 1.75 0 0 1 14.25 16H1.75A1.75 1.75 0 0 1 0 14.25Zm2-9.5C2 .784 2.784 0 3.75 0h8.5C13.216 0 14 .784 14 1.75v5a1.75 1.75 0 0 1-1.75 1.75h-8.5A1.75 1.75 0 0 1 2 6.75Zm1.75-.25a.25.25 0 0 0-.25.25v5c0 .138.112.25.25.25h8.5a.25.25 0 0 0 .25-.25v-5a.25.25 0 0 0-.25-.25Zm-2 9.5a.25.25 0 0 0-.25.25v3c0 .138.112.25.25.25h12.5a.25.25 0 0 0 .25-.25v-3a.25.25 0 0 0-.25-.25Z"></path><path d="M7 12.75a.75.75 0 0 1 .75-.75h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1-.75-.75Zm-4 0a.75.75 0 0 1 .75-.75h.5a.75.75 0 0 1 0 1.5h-.5a.75.75 0 0 1-.75-.75Z"></path></svg> Codespace**를 클릭한 다음 [github.com/codespaces](https://github.com/codespaces)의 "내 codespace" 페이지로 이동합니다.

2. 게시되지 않은 codespace 옆에 있는 줄임표(**...**)를 클릭한 다음 **새 리포지토리에 게시**를 선택합니다.

   ![“새 리포지토리에 게시” 옵션이 표시된 Codespace 드롭다운 메뉴의 스크린샷](/assets/images/help/codespaces/publish-to-new-repository.png)

3. 새 리포지토리의 이름을 선택하고, **공용** 또는 **개인용**으로 설정한 다음, **리포지토리 만들기**를 클릭합니다.

   ![“이름” 필드, “공용” 및 “개인용” 옵션, 그리고 “리포지토리 만들기” 버튼이 있는 “새 리포지토리에 게시” 드롭다운 메뉴의 스크린샷입니다.](/assets/images/help/codespaces/template-new-repository-settings.png)

4. 필요에 따라 새 리포지토리를 보려면 **리포지토리 보기**를 클릭합니다.

## 추가 참고 자료

* [리포지토리에 대한 codespace 만들기](/ko/codespaces/developing-in-a-codespace/creating-a-codespace-for-a-repository)
* [codespace 수명 주기 이해](/ko/codespaces/about-codespaces/understanding-the-codespace-lifecycle)
* [codespace에서 원본 제어 사용](/ko/codespaces/developing-in-a-codespace/using-source-control-in-your-codespace)