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

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

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

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

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

Создание 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 на основе шаблона. Дополнительные сведения см. в статье Использование системы управления версиями в кодовом пространстве.

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

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

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

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

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

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

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

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

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

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

Удаление codespace

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

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

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

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

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

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

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

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