The Wayback Machine - https://web.archive.org/web/20230218170934/https://docs.github.com/ru/codespaces/developing-in-codespaces/using-source-control-in-your-codespace
Skip to main content
We publish frequent updates to our documentation, and translation of this page may still be in progress. For the most current information, please visit the English documentation.

Using source control in your codespace

In this article

After making changes to a file in your codespace you can quickly commit the changes and push your update to the remote repository.

Примечание. Использование GitHub Codespaces с ИНДЕ 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. См. раздел Creating a codespace for a repository.
  • В codespace создайте новую ветвь для работы.
  • Внесите необходимые изменения и сохраните их.
  • Зафиксируйте изменения.
  • Создайте запрос на вытягивание.

Сведения об автоматической вилке

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

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

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

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

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

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

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

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

$ git fetch upstream

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

$ git push origin my-feature-branch

Дополнительные сведения см. в разделе About forks.

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

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

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

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

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

    Боковая панель управления исходным кодом с выделенной кнопкой подготовки

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

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

    Боковая панель управления исходным кодом с сообщением о фиксации

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

    Снимок экрана: кнопка "Опубликовать ветвь" в VS Code

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

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

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

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

    Снимок экрана: всплывающее окно "Открыть в GitHub" в VS Code

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

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

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

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

  1. На панели действий щелкните представление Система управления версиями. Представление "Система управления версиями"
  2. Чтобы подготовить изменения, щелкните знак + рядом с измененным файлом или рядом с элементом Изменения, если вы изменили несколько файлов и хотите подготовить их все. Боковая панель системы управления версиями с выделенной кнопкой промежуточного хранения
  3. Введите сообщение о фиксации, описывающее внесенное изменение. Боковая панель системы управления версиями с сообщением о фиксации
  4. Чтобы зафиксировать промежуточные изменения, установите флажок в верхней части боковой панели системы управления версиями. Щелкните значок галочки

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

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

  1. На панели действий щелкните представление Система управления версиями. Представление "Система управления версиями"
  2. В верхней части боковой панели щелкните многоточие (...). Кнопка с многоточием для просмотра и других действий
  3. В раскрывающемся меню выберите пункт Потянуть.

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

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

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

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

  1. Нажмите кнопку Управление в нижней части панели действий. Кнопка "Управление"
  2. В меню щелкните Параметры.
  3. На странице параметров выполните поиск: autofetch. Поиск автоматической выборки
  4. Чтобы получить сведения об обновлениях для всех удаленных параметров, зарегистрированных для текущего репозитория, установите Git: Autofetchна all. Включить автоматическую выборку Git
  5. Если вы хотите изменить количество секунд между каждой автоматической выборкой, измените значение Git: Autofetch Period.

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

  1. После фиксации изменений в локальной копии репозитория щелкните значок Создать запрос на вытягивание. Боковая панель системы управления версиями с выделенной кнопкой промежуточного хранения
  2. Убедитесь в том, что локальная ветвь и репозиторий, из которых выполняется слияние, а также удаленная ветвь и репозиторий, с которыми выполняется слияние, выбраны правильно. Затем задайте для запроса на вытягивание название и описание. Боковая панель системы управления версиями с выделенной кнопкой промежуточного хранения
  3. Нажмите кнопку Create (Создать).

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

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

  1. В верхней части боковой панели щелкните многоточие (...). Кнопка с многоточием для просмотра и других действий
  2. В раскрывающемся меню выберите команду Отправить.

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

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

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

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

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

    Боковая панель управления исходным кодом с выделенной кнопкой подготовки

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

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

    Боковая панель управления исходным кодом с сообщением о фиксации

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

    Снимок экрана: кнопка "Опубликовать ветвь" в VS Code

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

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

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

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

    Снимок экрана: всплывающее окно "Открыть в GitHub" в VS Code

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

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

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

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

  1. На панели действий щелкните представление Система управления версиями. Представление "Система управления версиями"
  2. Чтобы подготовить изменения, щелкните знак + рядом с измененным файлом или рядом с элементом Изменения, если вы изменили несколько файлов и хотите подготовить их все. Боковая панель системы управления версиями с выделенной кнопкой промежуточного хранения
  3. Введите сообщение о фиксации, описывающее внесенное изменение. Боковая панель системы управления версиями с сообщением о фиксации
  4. Чтобы зафиксировать промежуточные изменения, установите флажок в верхней части боковой панели системы управления версиями. Щелкните значок галочки

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

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

  1. На панели действий щелкните представление Система управления версиями. Представление "Система управления версиями"
  2. В верхней части боковой панели щелкните многоточие (...). Кнопка с многоточием для просмотра и других действий
  3. В раскрывающемся меню выберите пункт Потянуть.

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

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

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

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

  1. Нажмите кнопку Управление в нижней части панели действий. Кнопка "Управление"
  2. В меню щелкните Параметры.
  3. На странице параметров выполните поиск: autofetch. Поиск автоматической выборки
  4. Чтобы получить сведения об обновлениях для всех удаленных параметров, зарегистрированных для текущего репозитория, установите Git: Autofetchна all. Включить автоматическую выборку Git
  5. Если вы хотите изменить количество секунд между каждой автоматической выборкой, измените значение Git: Autofetch Period.

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

  1. После фиксации изменений в локальной копии репозитория щелкните значок Создать запрос на вытягивание. Боковая панель системы управления версиями с выделенной кнопкой промежуточного хранения
  2. Убедитесь в том, что локальная ветвь и репозиторий, из которых выполняется слияние, а также удаленная ветвь и репозиторий, с которыми выполняется слияние, выбраны правильно. Затем задайте для запроса на вытягивание название и описание. Боковая панель системы управления версиями с выделенной кнопкой промежуточного хранения
  3. Нажмите кнопку Create (Создать).

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

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

  1. В верхней части боковой панели щелкните многоточие (...). Кнопка с многоточием для просмотра и других действий
  2. В раскрывающемся меню выберите команду Отправить.

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

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

    Снимок экрана: имя ветви в строке состояния

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

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

      Снимок экрана: параметр "Новая ветвь"

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

      Снимок экрана: диалоговое окно создания ветви

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

      Снимок экрана: вариант оформления заказа

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

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

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

    Снимок экрана: флажок фиксации

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

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

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

    Снимок экрана: кнопка фиксации и нажатия

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

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

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

    Снимок экрана: кнопка "Стрелка вниз" для проекта обновления

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

    Снимок экрана: диалоговое окно "Обновление проекта"

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

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

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

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

    Снимок экрана: стрелка вверх при push-фиксации

  2. В диалоговом окне Принудительные фиксации нажмите кнопку Отправить.