Примечание. Использование 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 или классического приложения.
-
На панели действий щелкните представление Система управления версиями.

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

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

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

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

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

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

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

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

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

- В верхней части боковой панели щелкните многоточие (...).

- В раскрывающемся меню выберите пункт Потянуть.
Если конфигурация контейнера разработки была изменена с момента создания codespace, вы можете применить изменения, перестроив контейнер для codespace. Дополнительные сведения см. в разделе Introduction to dev containers.
Настройка codespace для автоматического получения новых изменений
Можно настроить codespace, чтобы автоматически получать сведения о любых новых фиксациях, внесенных в удаленный репозиторий. Это позволяет узнать, устарела ли локальная копия репозитория, и в этом случае можно извлечь новые изменения.
Если операция получения обнаруживает новые изменения в удаленном репозитории, вы увидите количество новых фиксаций в строке состояния. Затем можно извлечь изменения в локальную копию.
- Нажмите кнопку Управление в нижней части панели действий.

- В меню щелкните Параметры.
- На странице параметров выполните поиск:
autofetch.
- Чтобы получить сведения об обновлениях для всех удаленных параметров, зарегистрированных для текущего репозитория, установите Git: Autofetchна
all.
- Если вы хотите изменить количество секунд между каждой автоматической выборкой, измените значение Git: Autofetch Period.
Создание запроса на вытягивание
- После фиксации изменений в локальной копии репозитория щелкните значок Создать запрос на вытягивание.
- Убедитесь в том, что локальная ветвь и репозиторий, из которых выполняется слияние, а также удаленная ветвь и репозиторий, с которыми выполняется слияние, выбраны правильно. Затем задайте для запроса на вытягивание название и описание.

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

- В раскрывающемся меню выберите команду Отправить.
Публикация пространства кода, созданного на основе шаблона
При создании пространства кода из репозитория шаблонов или шаблона на странице "Ваши codespaces" работа, которую вы выполняете, не будет храниться в репозитории в GitHub, пока вы не опубликуете кодовое пространство. Дополнительные сведения см. в разделе Creating a codespace from a template.
Если вы работаете в codespace, вы можете опубликовать его из веб-клиента VS Code или классического приложения.
-
На панели действий щелкните представление Система управления версиями.

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

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

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

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

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

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

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

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

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

- В верхней части боковой панели щелкните многоточие (...).

- В раскрывающемся меню выберите пункт Потянуть.
Если конфигурация контейнера разработки была изменена с момента создания codespace, вы можете применить изменения, перестроив контейнер для codespace. Дополнительные сведения см. в разделе Introduction to dev containers.
Настройка codespace для автоматического получения новых изменений
Можно настроить codespace, чтобы автоматически получать сведения о любых новых фиксациях, внесенных в удаленный репозиторий. Это позволяет узнать, устарела ли локальная копия репозитория, и в этом случае можно извлечь новые изменения.
Если операция получения обнаруживает новые изменения в удаленном репозитории, вы увидите количество новых фиксаций в строке состояния. Затем можно извлечь изменения в локальную копию.
- Нажмите кнопку Управление в нижней части панели действий.

- В меню щелкните Параметры.
- На странице параметров выполните поиск:
autofetch.
- Чтобы получить сведения об обновлениях для всех удаленных параметров, зарегистрированных для текущего репозитория, установите Git: Autofetchна
all.
- Если вы хотите изменить количество секунд между каждой автоматической выборкой, измените значение Git: Autofetch Period.
Создание запроса на вытягивание
- После фиксации изменений в локальной копии репозитория щелкните значок Создать запрос на вытягивание.
- Убедитесь в том, что локальная ветвь и репозиторий, из которых выполняется слияние, а также удаленная ветвь и репозиторий, с которыми выполняется слияние, выбраны правильно. Затем задайте для запроса на вытягивание название и описание.

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

- В раскрывающемся меню выберите команду Отправить.
Создание или переключение ветвей
-
Щелкните имя ветви в правой части строки состояния.

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

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

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

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

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

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

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

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

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

