Skip to main content
Мы публикуем частые обновления нашей документации, и перевод этой страницы может все еще выполняться. Актуальные сведения см. в документации на английском языке.

Жизненный цикл codespace

Вы можете разрабатывать в среде GitHub Codespaces и поддерживать данные на протяжении всего жизненного цикла codespace.

Сведения о жизненном цикле пространства кода

Жизненный цикл пространства кода начинается при его создании и заканчивается при его удалении. Вы можете отключиться и переподключиться к активному пространству кода, не затрагивая выполняемые процессы. Вы можете остановить и перезапустить пространство кода без потери изменений, внесенных в проект.

Создание codespace

Когда вы собираетесь работать над проектом, вы можете создать новое пространство кода или открыть существующее. Вам может потребоваться создать новое пространство кода из ветви репозитория при каждой разработке в GitHub Codespaces или сохранить длительное пространство кода для функции. Если вы запускаете новый проект, вы можете создать codespace на основе шаблона и опубликовать его в репозитории на GitHub позже. Дополнительные сведения см. в разделах Создание codespace для репозитория и Создание codespace на основе шаблона.

Количество создаваемых сред codespace ограничено, как и количество одновременно выполняемых сред codespace. Эти ограничения зависят от ряда факторов. Если вы достигнете максимального количества сред codespace и попытаетесь создать еще одну среду, появится сообщение о том, что необходимо удалить существующую среду codespace, прежде чем создать новую. Аналогичным образом, если вы достигнете максимального количества активных сред codespace и попытаетесь запустить еще одну среду, вам будет предложено остановить одну из активных сред codespace.

Если вы решили создавать новое пространство кода каждый раз при работе над проектом, следует регулярно отправлять изменения, чтобы все новые фиксации были включены в GitHub. Если вы решили использовать для своего проекта долгосрочное пространство кода, то должны выполнять вытягивание из ветви по умолчанию репозитория каждый раз, когда начинаете работать в пространстве кода, чтобы в вашей среде присутствовали последние фиксации. Этот рабочий процесс очень похож на работу с проектом на локальном компьютере.

Чтобы ускорить создание codespace, администраторы репозитория могут включить предварительные сборки GitHub Codespaces для репозитория. Дополнительные сведения см. в разделе Сведения о предварительных сборках в GitHub Codespaces.

Сохранение изменений в пространстве кода

При подключении к пространству кода через Интернет для веб редактора автоматически включается автосохранение и настраивается сохранение изменений после задержки. При подключении к пространству кода через Visual Studio Code, работающий на вашем компьютере, необходимо самостоятельно включить автосохранение. Дополнительные сведения см. в разделе Сохранение и автосохранение документации по Visual Studio Code.

Ваша работа будет сохранена на виртуальной машине в облаке. Вы можете закрыть и остановить codespace, а затем вернуться к сохраненной работе. Если у вас есть несохраненные изменения, перед выходом редактор предложит сохранить их. Однако при удалении codespace работа также будет удалена. Чтобы сохранить работу, необходимо зафиксировать изменения и отправить их в удаленный репозиторий или опубликовать работу в новом удаленный репозиторий, если вы создали codespace на основе шаблона. Дополнительные сведения см. в разделе Использование системы управления версиями в codespace.

Время ожидания для GitHub Codespaces

Если вы оставите свое пространство кода работающим без взаимодействия или если выйдете из него, не остановив его явно, после некоторого периода бездействия время ожидания истечет, и пространство кода остановит работу. По умолчанию время ожидания пространства кода истекает через 30 минут бездействия, но вы можете настроить другое время ожидания для вновь создаваемых пространств кода. Дополнительные сведения о настройке периода времени ожидания по умолчанию для codespace см. в разделе Настройка периода ожидания для GitHub Codespaces. Дополнительные сведения об остановке пространства кода см. в разделе Остановка пространства кода.

При истечении времени ожидания пространства кода данные сохраняются с момента последнего сохранения изменений. Дополнительные сведения см. в разделе Сохранение изменений в пространстве кода.

Перестроение пространства кода

Вы можете перестроить codespace, чтобы реализовать изменения в конфигурации контейнера разработки. В большинстве случаев вместо перестроения пространства кода можно просто создать новое пространство кода. По умолчанию при перестроении codespace GitHub Codespaces будет повторно использовать образы из кэша, чтобы ускорить процесс перестроения. Кроме того, можно выполнить полную перестройку, которая очищает кэш и перестраивает контейнер со свежими образами.

Примечание: При перестроении контейнера в codespace изменения, внесенные /workspaces вне каталога, удаляются. Изменения, внесенные в /workspaces каталог, который включает клон репозитория или шаблона, из которого вы создали codespace, сохраняются при перестроении. Дополнительные сведения см. в разделе Подробные сведения о GitHub Codespaces.

Дополнительные сведения см. в разделах Основные сведения о контейнерах разработки и Перестроение контейнера в codespace.

Остановка пространства кода

Вы можете остановить пространство кода в любой момент. При остановке пространства кода все выполняемые процессы останавливаются, и журнал терминала очищается. Все сохраненные изменения в пространстве кода по-прежнему будут доступны при следующем запуске. Если не остановить пространство кода явным образом, оно будет продолжать работать до истечения времени ожидания в результате бездействия. Дополнительные сведения см. в разделе Жизненный цикл codespace.

Плата за ЦП взимается только с запуска codespace. Остановленное пространство кода влечет за собой только затраты на хранение.

Может потребоваться остановить и перезапустить пространство кода, чтобы применить к нему изменения. Например, при изменении типа виртуальной машины, используемой для пространства кода, необходимо остановить и перезапустить его, чтобы изменения вступили в силу. Вы также можете остановить пространство кода и перезапустить или удалить его, если возникла ошибка или произошло что-то непредвиденное. Дополнительные сведения см. в разделе Остановка и запуск codespace.

Удаление codespace

Вы можете создать пространство кода для конкретной задачи, а затем безопасно удалить его после отправки изменений в удаленную ветвь.

Если вы попытаетесь удалить пространство кода с неотправленными фиксациями git, редактор сообщит вам, что имеются изменения, которые не были отправлены в удаленную ветвь. Вы можете отправить все необходимые изменения, а затем удалить пространство кода или продолжить, чтобы удалить пространство кода и все незафиксированные изменения. Вы также можете экспортировать код в новую ветвь, не создавая новое пространство кода. Дополнительные сведения см. в разделе Экспорт изменений в ветвь.

Codespace, которые были остановлены и остаются неактивными в течение указанного периода времени, будут удалены автоматически. По умолчанию неактивные codespace удаляются через 30 дней, но вы можете настроить период хранения codespace. Дополнительные сведения см. в разделе Настройка автоматического удаления codespace.

Если вы создадите codespace, оно будет продолжать начислять расходы на хранение, пока оно не будет удалено, независимо от того, является ли оно активным или остановленным. Дополнительные сведения см. в разделе Сведения о выставлении счетов для GitHub Codespaces. Удаление codespace не уменьшает текущую оплачиваемую сумму для GitHub Codespaces, которая накапливается в течение каждого ежемесячного период выставления счетов. Дополнительные сведения см. в разделе Просмотр сведений о потреблении GitHub Codespaces.

Дополнительные сведения об удалении codespace см. в разделе Удаление codespace.

Потеря подключения при использовании GitHub Codespaces

GitHub Codespaces — это облачная среда разработки, для которой требуется подключение к Интернету. Если во время работы в пространстве кода произойдет потеря подключения к Интернету, вы не сможете получить доступ к своему пространству кода. Однако все незафиксированные изменения будут сохранены. Когда подключение к Интернету будет восстановлено, вы сможете подключиться к пространству кода в том же состоянии, в котором оно было оставлено. Если ваше подключение к Интернету нестабильно, следует чаще фиксировать и отправлять изменения.

Если вы знаете, что часто работаете в автономном режиме, вы можете использовать файл devcontainer.json с расширением "Контейнеры разработки" для VS Code для сборки и подключения к локальному контейнеру разработки для репозитория. Дополнительные сведения см. в разделе Разработка в контейнере в документации по Visual Studio Code.