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

Использование системы управления версиями в codespace

В этой статье

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

Примечание. Использование GitHub Codespaces с URI JetBrains в настоящее время находится в общедоступной бета-версии и может быть изменено.

Сведения об управлении версиями в GitHub Codespaces

Можно выполнять все необходимые действия Git непосредственно в codespace. Например, можно получать изменения из удаленного репозитория, переключать ветви, создавать новую ветвь, фиксировать и отправлять изменения, а также создавать запрос на вытягивание. Встроенный терминал в codespace можно использовать для ввода команд Git или щелкнуть значки и параметры меню, чтобы выполнить все наиболее распространенные задачи Git. В этом руководстве объясняется, как использовать графический пользовательский интерфейс для управления версиями.

Дополнительные сведения о поддержке Git в Visual Studio Code см. в разделе Использование управления версиями в VS Code документации по Visual Studio Code.

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

Типичным рабочим процессом обновления файла с помощью GitHub Codespaces будет следующее:

  • Из ветви по умолчанию репозитория на GitHub создайте codespace. См. раздел Создание codespace для репозитория.
  • В codespace создайте новую ветвь для работы.
  • Внесите необходимые изменения и сохраните их.
  • Зафиксируйте изменения.
  • Создайте запрос на вытягивание.

Об автоматической вилке

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

Перед созданием codespace не нужно создавать вилку репозитория. Например, можно создать codespace из репозитория, чтобы просмотреть проект и внести экспериментальные изменения, а затем удалить codespace, если оно больше не нужно.

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

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

При выполнении фиксации из командной строки появится запрос с запросом на связывание codespace с новой или существующей вилкой. Введите y , чтобы продолжить. Если вы фиксируете изменения в представлении системы управления версиями в VS Code или на панели навигации в интегрированной среде разработки JetBrains, пространство кода автоматически связывается с вилкой без запроса.

Когда GitHub Codespaces создает вилку или связывает codespace с существующей вилкой, происходит следующее.

  • Маркер доступа, связанный с codespace, обновляется для включения read и write разрешения для вилки, а также read разрешения для вышестоящего репозитория.
  • В параметрах Git вышестоящий репозиторий переназначается на имя upstream, а вилка добавляется как новый удаленный репозиторий под именем origin.

По умолчанию команды системы управления версиями, к которым вы обращаетесь из пользовательского интерфейса редактора, например кнопка "Синхронизировать изменения " в VS Code, нацелены на вилку. Если вы работаете из командной строки, можно использовать для origin ссылки на вилку и upstream на вышестоящий репозиторий. Например, вы можете получить изменения из вышестоящего репозитория, чтобы убедиться, что codespace обновлено с последними изменениями в проекте.

$ git fetch upstream

После внесения некоторых изменений их можно отправить в ветвь компонентов вилки.

$ git push origin my-feature-branch

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

Публикация пространства кода, созданного на основе шаблона

При создании пространства кода из репозитория шаблонов или шаблона на странице "Ваши codespaces" работа, которую вы выполняете, не будет храниться в репозитории в GitHub, пока вы не опубликуете codespace. Дополнительные сведения см. в разделе Создание codespace на основе шаблона.

Если вы работаете в codespace, вы можете опубликовать его из веб-клиента VS Code или классического приложения.

  1. На панели действий щелкните представление Система управления версиями.

    Снимок экрана: панель действий VS Code с кнопкой управления версиями, выделенной оранжевым контуром.

  2. Чтобы внести изменения, щелкните + рядом с файлом, который вы добавили или изменили, или рядом с элементом Изменения , если вы изменили несколько файлов и хотите подготовить их все.

    Снимок экрана: боковая панель "Система управления версиями" с промежуточной кнопкой (знак "плюс") справа от "Изменения", выделенная темно-оранжевым контуром.

    Примечание: Если вы начинаете с пустого шаблона GitHub, вы не увидите список изменений, если вы не инициализировали каталог в качестве репозитория Git. Чтобы опубликовать codespace, созданные на основе пустого шаблона, щелкните Опубликовать в GitHub в представлении системы управления версиями, а затем перейдите к шагу 5.

  3. Чтобы зафиксировать промежуточные изменения, введите сообщение фиксации, описывающее внесенные изменения, а затем нажмите кнопку Зафиксировать.

    Снимок экрана: боковая панель "Система управления версиями" с сообщением о фиксации и под ним кнопка "Фиксация", выделенная темно-оранжевым контуром.

  4. Щелкните Опубликовать ветвь.

    Снимок экрана: боковая панель "Система управления версиями" с кнопкой "Опубликовать ветвь".

  5. В раскрывающемся списке "Имя репозитория" введите имя нового репозитория, а затем выберите Опубликовать в GitHub частный репозиторий или Опубликовать в GitHub общедоступный репозиторий.

    Снимок экрана: раскрывающийся список имен репозитория в VS Code. Показаны два варианта публикации в частном или общедоступном репозитории.

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

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

    Снимок экрана: сообщение подтверждения для успешно опубликованного репозитория с кнопкой "Открыть в GitHub".

Создание или переключение ветвей

  1. Если текущая ветвь не отображается в строке состояния, в нижней части кодового пространства щелкните строку состояния правой кнопкой мыши и выберите Управление версиями.

  2. Выберите имя ветви в строке состояния.

    Снимок экрана: имя ветви, отображаемое в строке состояния VS Code.

  3. В раскрывающемся списке щелкните ветвь, на которую вы хотите переключиться, или введите имя новой ветви и щелкните Создать новую ветвь.

    Снимок экрана: раскрывающийся список для создания новой ветви в VS Code.

Совет. Если кто-то недавно изменил файл в удаленном репозитории, в ветви, на который вы переключились, эти изменения могут не отображаться, пока вы не извлекете изменения в codespace.

Фиксация изменений

  1. На панели действий щелкните представление Система управления версиями.

    Снимок экрана: панель действий VS Code с кнопкой управления версиями, выделенной оранжевым контуром.

  2. Чтобы подготовить изменения, щелкните рядом с измененным файлом или рядом с элементом Изменения , если вы изменили несколько файлов и хотите выполнить их все.

    Снимок экрана: боковая панель "Система управления версиями" с промежуточной кнопкой (знак "плюс") справа от "Изменения", выделенной темно-оранжевым контуром.

  3. В текстовом поле введите сообщение о фиксации, описывающее внесенные изменения.

    Снимок экрана: боковая панель "Система управления версиями" с сообщением о фиксации, введенным в текстовое поле над кнопкой "Фиксация".

  4. Щелкните стрелку вниз в правой части кнопки Фиксация и в раскрывающемся меню выберите Зафиксировать & Отправить .

    Снимок экрана: раскрывающийся список для кнопки "Фиксация". Параметр "Commit & Push" выделен темно-оранжевым контуром.

Вытягивание изменений из удаленного репозитория

Можно извлекать изменения из удаленного репозитория в codespace в любое время.

  1. На панели действий щелкните представление Система управления версиями.

    Снимок экрана: панель действий VS Code с кнопкой управления версиями, выделенной оранжевым контуром.

  2. В верхней части боковой панели щелкните .

    Снимок экрана: боковая панель "Система управления версиями". Кнопка с многоточием (три точки) выделена темно-оранжевым контуром.

  3. В раскрывающемся меню выберите пункт Вытягивание.

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

Настройка codespace для автоматического получения новых изменений

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

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

  1. Нажмите кнопку Управление в нижней части панели действий.

    Снимок экрана: нижняя часть панели действий. Кнопка Управление (помеченная символом шестеренки) выделена темно-оранжевым контуром.

  2. В меню щелкните Параметры.

  3. На странице параметров выполните поиск: autofetch.

    Снимок экрана: вкладка "Параметры". Текст поиска "автовыбор" выделен темно-оранжевым контуром.

  4. Чтобы получить сведения об обновлениях для всех удаленных параметров, зарегистрированных для текущего репозитория, установите Git: Autofetchна all.

    Снимок экрана: параметр "Git: автовыбор" с параметром "all".

  5. Если вы хотите изменить количество секунд между каждой автоматической выборкой, измените значение Git: Autofetch Period.

Создание запроса на вытягивание

  1. Зафиксировав изменения в локальной копии репозитория, щелкните значок запроса на вытягивание в верхней части боковой панели "Система управления версиями".

    Снимок экрана: верхняя часть боковой панели "Система управления версиями". Значок запроса на вытягивание выделен темно-оранжевым контуром.

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

    Снимок экрана: боковая панель "GitHub Запрос на вытягивание" с формой для создания запроса на вытягивание, включая поля "Название" и "Описание".

  3. Нажмите кнопку Create (Создать).

Отправка изменений в удаленный репозиторий

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

  1. В верхней части боковой панели щелкните .

    Снимок экрана: боковая панель "Система управления версиями". Кнопка с многоточием (три точки) выделена темно-оранжевым контуром.

  2. В раскрывающемся меню щелкните Отправить.

Публикация пространства кода, созданного на основе шаблона

При создании пространства кода из репозитория шаблонов или шаблона на странице "Ваши codespaces" работа, которую вы выполняете, не будет храниться в репозитории в GitHub, пока вы не опубликуете codespace. Дополнительные сведения см. в разделе Создание codespace на основе шаблона.

Если вы работаете в codespace, вы можете опубликовать его из веб-клиента VS Code или классического приложения.

  1. На панели действий щелкните представление Система управления версиями.

    Снимок экрана: панель действий VS Code с кнопкой управления версиями, выделенной оранжевым контуром.

  2. Чтобы внести изменения, щелкните + рядом с файлом, который вы добавили или изменили, или рядом с элементом Изменения , если вы изменили несколько файлов и хотите подготовить их все.

    Снимок экрана: боковая панель "Система управления версиями" с промежуточной кнопкой (знак "плюс") справа от "Изменения", выделенная темно-оранжевым контуром.

    Примечание: Если вы начинаете с пустого шаблона GitHub, вы не увидите список изменений, если вы не инициализировали каталог в качестве репозитория Git. Чтобы опубликовать codespace, созданные на основе пустого шаблона, щелкните Опубликовать в GitHub в представлении системы управления версиями, а затем перейдите к шагу 5.

  3. Чтобы зафиксировать промежуточные изменения, введите сообщение фиксации, описывающее внесенные изменения, а затем нажмите кнопку Зафиксировать.

    Снимок экрана: боковая панель "Система управления версиями" с сообщением о фиксации и под ним кнопка "Фиксация", выделенная темно-оранжевым контуром.

  4. Щелкните Опубликовать ветвь.

    Снимок экрана: боковая панель "Система управления версиями" с кнопкой "Опубликовать ветвь".

  5. В раскрывающемся списке "Имя репозитория" введите имя нового репозитория, а затем выберите Опубликовать в GitHub частный репозиторий или Опубликовать в GitHub общедоступный репозиторий.

    Снимок экрана: раскрывающийся список имен репозитория в VS Code. Показаны два варианта публикации в частном или общедоступном репозитории.

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

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

    Снимок экрана: сообщение подтверждения для успешно опубликованного репозитория с кнопкой "Открыть в GitHub".

Создание или переключение ветвей

  1. Если текущая ветвь не отображается в строке состояния, в нижней части кодового пространства щелкните строку состояния правой кнопкой мыши и выберите Управление версиями.

  2. Выберите имя ветви в строке состояния.

    Снимок экрана: имя ветви, отображаемое в строке состояния VS Code.

  3. В раскрывающемся списке щелкните ветвь, на которую вы хотите переключиться, или введите имя новой ветви и щелкните Создать новую ветвь.

    Снимок экрана: раскрывающийся список для создания новой ветви в VS Code.

Совет. Если кто-то недавно изменил файл в удаленном репозитории, в ветви, на который вы переключились, эти изменения могут не отображаться, пока вы не извлекете изменения в codespace.

Фиксация изменений

  1. На панели действий щелкните представление Система управления версиями.

    Снимок экрана: панель действий VS Code с кнопкой управления версиями, выделенной оранжевым контуром.

  2. Чтобы подготовить изменения, щелкните рядом с измененным файлом или рядом с элементом Изменения , если вы изменили несколько файлов и хотите выполнить их все.

    Снимок экрана: боковая панель "Система управления версиями" с промежуточной кнопкой (знак "плюс") справа от "Изменения", выделенной темно-оранжевым контуром.

  3. В текстовом поле введите сообщение о фиксации, описывающее внесенные изменения.

    Снимок экрана: боковая панель "Система управления версиями" с сообщением о фиксации, введенным в текстовое поле над кнопкой "Фиксация".

  4. Щелкните стрелку вниз в правой части кнопки Фиксация и в раскрывающемся меню выберите Зафиксировать & Отправить .

    Снимок экрана: раскрывающийся список для кнопки "Фиксация". Параметр "Commit & Push" выделен темно-оранжевым контуром.

Вытягивание изменений из удаленного репозитория

Можно извлекать изменения из удаленного репозитория в codespace в любое время.

  1. На панели действий щелкните представление Система управления версиями.

    Снимок экрана: панель действий VS Code с кнопкой управления версиями, выделенной оранжевым контуром.

  2. В верхней части боковой панели щелкните .

    Снимок экрана: боковая панель "Система управления версиями". Кнопка с многоточием (три точки) выделена темно-оранжевым контуром.

  3. В раскрывающемся меню выберите пункт Вытягивание.

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

Настройка codespace для автоматического получения новых изменений

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

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

  1. Нажмите кнопку Управление в нижней части панели действий.

    Снимок экрана: нижняя часть панели действий. Кнопка Управление (помеченная символом шестеренки) выделена темно-оранжевым контуром.

  2. В меню щелкните Параметры.

  3. На странице параметров выполните поиск: autofetch.

    Снимок экрана: вкладка "Параметры". Текст поиска "автовыбор" выделен темно-оранжевым контуром.

  4. Чтобы получить сведения об обновлениях для всех удаленных параметров, зарегистрированных для текущего репозитория, установите Git: Autofetchна all.

    Снимок экрана: параметр "Git: автовыбор" с параметром "all".

  5. Если вы хотите изменить количество секунд между каждой автоматической выборкой, измените значение Git: Autofetch Period.

Создание запроса на вытягивание

  1. Зафиксировав изменения в локальной копии репозитория, щелкните значок запроса на вытягивание в верхней части боковой панели "Система управления версиями".

    Снимок экрана: верхняя часть боковой панели "Система управления версиями". Значок запроса на вытягивание выделен темно-оранжевым контуром.

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

    Снимок экрана: боковая панель "GitHub Запрос на вытягивание" с формой для создания запроса на вытягивание, включая поля "Название" и "Описание".

  3. Нажмите кнопку Create (Создать).

Отправка изменений в удаленный репозиторий

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

  1. В верхней части боковой панели щелкните .

    Снимок экрана: боковая панель "Система управления версиями". Кнопка с многоточием (три точки) выделена темно-оранжевым контуром.

  2. В раскрывающемся меню щелкните Отправить.

Создание или переключение ветвей

  1. Щелкните имя ветви в правой части строки состояния.

    Снимок экрана: строка состояния с подсказкой для имени ветви. Значок ветви и имя main выделены темно-оранжевым контуром.

  2. Во всплывающем меню выполните одно из указанных ниже действий.

    • Чтобы создать новую ветвь на основе текущей ветви, щелкните Создать ветвь.

      Снимок экрана: всплывающее меню "Ветви" с выбранным параметром "Создать ветвь".

      Введите имя новой ветви и нажмите кнопку Создать.

      Снимок экрана: диалоговое окно "Создать новую ветвь" с кнопками "Создать" и "Отмена". "my-branch" был введен в качестве имени ветви.

    • Чтобы извлечь существующую ветвь, начните вводить имя ветви, которую вы хотите извлечь. Щелкните ветвь из списка и нажмите кнопку Извлечь.

      Снимок экрана: всплывающее меню ветвей с выбранной ветвью "origin/templates" и "Checkout" (Извлечение) в подменю.

      Совет. Если кто-то недавно изменил файл в удаленном репозитории, в ветви, на который вы переключились, эти изменения могут не отображаться, пока вы не извлекете изменения в codespace.

Фиксация изменений

  1. В правой части панели навигации установите флажок.

    Снимок экрана: панель навигации в верхней части клиента JetBrains. Выделен значок галочки для фиксации изменений.

  2. В диалоговом окне Фиксация изменений введите сообщение о фиксации.

  3. Нажмите кнопку Зафиксировать.

    Кроме того, щелкните стрелку вниз рядом с кнопкой Фиксация и нажмите кнопку Зафиксировать и отправить.

    Снимок экрана: диалоговое окно "Фиксация изменений" с кнопкой "Зафиксировать и отправить".

Вытягивание изменений из удаленного репозитория

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

  1. В правой части панели навигации щелкните стрелку вниз.

    Снимок экрана: панель навигации в верхней части клиента JetBrains. Значок стрелки вниз выделен темно-оранжевым контуром.

  2. В диалоговом окне Обновление проекта укажите, нужно ли объединять или переначислить входящие изменения.

    Снимок экрана: диалоговое окно "Обновление проекта" с параметрами слияния или повторного базирования и флажком "Больше не показывать".

  3. Нажмите кнопку ОК.

Отправка изменений в удаленный репозиторий

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

  1. В правой части панели навигации щелкните стрелку вверх.

    Снимок экрана: панель навигации в верхней части клиента JetBrains. Значок стрелки вверх выделен темно-оранжевым контуром.

  2. В диалоговом окне Push Commits (Фиксации отправки) щелкните Push (Отправить).