Примечание. Использование 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 или классического приложения.
-
На панели действий щелкните представление Система управления версиями.
-
Чтобы внести изменения, щелкните + рядом с файлом, который вы добавили или изменили, или рядом с элементом Изменения , если вы изменили несколько файлов и хотите подготовить их все.
Примечание: Если вы начинаете с пустого шаблона GitHub, вы не увидите список изменений, если вы не инициализировали каталог в качестве репозитория Git. Чтобы опубликовать codespace, созданные на основе пустого шаблона, щелкните Опубликовать в GitHub в представлении системы управления версиями, а затем перейдите к шагу 5.
-
Чтобы зафиксировать промежуточные изменения, введите сообщение фиксации, описывающее внесенные изменения, а затем нажмите кнопку Зафиксировать.
-
Щелкните Опубликовать ветвь.
-
В раскрывающемся списке "Имя репозитория" введите имя нового репозитория, а затем выберите Опубликовать в GitHub частный репозиторий или Опубликовать в GitHub общедоступный репозиторий.
Владельцем нового репозитория будет учетная запись GitHub, с помощью которой вы создали codespace.
-
При необходимости во всплывающем окне, которое появится в правом нижнем углу редактора, щелкните Открыть на GitHub , чтобы просмотреть новый репозиторий на GitHub.com.
Создание или переключение ветвей
-
Если текущая ветвь не отображается в строке состояния, в нижней части кодового пространства щелкните строку состояния правой кнопкой мыши и выберите Управление версиями.
-
Выберите имя ветви в строке состояния.
-
В раскрывающемся списке щелкните ветвь, на которую вы хотите переключиться, или введите имя новой ветви и щелкните Создать новую ветвь.
Совет. Если кто-то недавно изменил файл в удаленном репозитории, в ветви, на который вы переключились, эти изменения могут не отображаться, пока вы не извлекете изменения в codespace.
Фиксация изменений
-
На панели действий щелкните представление Система управления версиями.
-
Чтобы подготовить изменения, щелкните рядом с измененным файлом или рядом с элементом Изменения , если вы изменили несколько файлов и хотите выполнить их все.
-
В текстовом поле введите сообщение о фиксации, описывающее внесенные изменения.
-
Щелкните стрелку вниз в правой части кнопки Фиксация и в раскрывающемся меню выберите Зафиксировать & Отправить .
Вытягивание изменений из удаленного репозитория
Можно извлекать изменения из удаленного репозитория в codespace в любое время.
-
На панели действий щелкните представление Система управления версиями.
-
В верхней части боковой панели щелкните .
-
В раскрывающемся меню выберите пункт Вытягивание.
Если конфигурация контейнера разработки была изменена с момента создания codespace, вы можете применить изменения, перестроив контейнер для codespace. Дополнительные сведения см. в разделе Основные сведения о контейнерах разработки.
Настройка codespace для автоматического получения новых изменений
Можно настроить codespace, чтобы автоматически получать сведения о любых новых фиксациях, внесенных в удаленный репозиторий. Это позволяет узнать, устарела ли локальная копия репозитория, и в этом случае можно извлечь новые изменения.
Если операция получения обнаруживает новые изменения в удаленном репозитории, вы увидите количество новых фиксаций в строке состояния. Затем можно извлечь изменения в локальную копию.
-
Нажмите кнопку Управление в нижней части панели действий.
-
В меню щелкните Параметры.
-
На странице параметров выполните поиск:
autofetch
. -
Чтобы получить сведения об обновлениях для всех удаленных параметров, зарегистрированных для текущего репозитория, установите Git: Autofetchна
all
. -
Если вы хотите изменить количество секунд между каждой автоматической выборкой, измените значение Git: Autofetch Period.
Создание запроса на вытягивание
-
Зафиксировав изменения в локальной копии репозитория, щелкните значок запроса на вытягивание в верхней части боковой панели "Система управления версиями".
-
Убедитесь в том, что локальная ветвь и репозиторий, из которых выполняется слияние, а также удаленная ветвь и репозиторий, с которыми выполняется слияние, выбраны правильно. Затем задайте для запроса на вытягивание название и описание.
-
Нажмите кнопку Create (Создать).
Отправка изменений в удаленный репозиторий
Вы можете отправлять сохраненные и зафиксированные изменения. После этого изменения будут применены к вышестоящей ветви в удаленном репозитории. Это можно сделать, если вы еще не готовы создать запрос на вытягивание или если вы предпочитаете создать такой запрос в GitHub.
-
В верхней части боковой панели щелкните .
-
В раскрывающемся меню щелкните Отправить.
Публикация пространства кода, созданного на основе шаблона
При создании пространства кода из репозитория шаблонов или шаблона на странице "Ваши codespaces" работа, которую вы выполняете, не будет храниться в репозитории в GitHub, пока вы не опубликуете codespace. Дополнительные сведения см. в разделе Создание codespace на основе шаблона.
Если вы работаете в codespace, вы можете опубликовать его из веб-клиента VS Code или классического приложения.
-
На панели действий щелкните представление Система управления версиями.
-
Чтобы внести изменения, щелкните + рядом с файлом, который вы добавили или изменили, или рядом с элементом Изменения , если вы изменили несколько файлов и хотите подготовить их все.
Примечание: Если вы начинаете с пустого шаблона GitHub, вы не увидите список изменений, если вы не инициализировали каталог в качестве репозитория Git. Чтобы опубликовать codespace, созданные на основе пустого шаблона, щелкните Опубликовать в GitHub в представлении системы управления версиями, а затем перейдите к шагу 5.
-
Чтобы зафиксировать промежуточные изменения, введите сообщение фиксации, описывающее внесенные изменения, а затем нажмите кнопку Зафиксировать.
-
Щелкните Опубликовать ветвь.
-
В раскрывающемся списке "Имя репозитория" введите имя нового репозитория, а затем выберите Опубликовать в GitHub частный репозиторий или Опубликовать в GitHub общедоступный репозиторий.
Владельцем нового репозитория будет учетная запись GitHub, с помощью которой вы создали codespace.
-
При необходимости во всплывающем окне, которое появится в правом нижнем углу редактора, щелкните Открыть на GitHub , чтобы просмотреть новый репозиторий на GitHub.com.
Создание или переключение ветвей
-
Если текущая ветвь не отображается в строке состояния, в нижней части кодового пространства щелкните строку состояния правой кнопкой мыши и выберите Управление версиями.
-
Выберите имя ветви в строке состояния.
-
В раскрывающемся списке щелкните ветвь, на которую вы хотите переключиться, или введите имя новой ветви и щелкните Создать новую ветвь.
Совет. Если кто-то недавно изменил файл в удаленном репозитории, в ветви, на который вы переключились, эти изменения могут не отображаться, пока вы не извлекете изменения в codespace.
Фиксация изменений
-
На панели действий щелкните представление Система управления версиями.
-
Чтобы подготовить изменения, щелкните рядом с измененным файлом или рядом с элементом Изменения , если вы изменили несколько файлов и хотите выполнить их все.
-
В текстовом поле введите сообщение о фиксации, описывающее внесенные изменения.
-
Щелкните стрелку вниз в правой части кнопки Фиксация и в раскрывающемся меню выберите Зафиксировать & Отправить .
Вытягивание изменений из удаленного репозитория
Можно извлекать изменения из удаленного репозитория в codespace в любое время.
-
На панели действий щелкните представление Система управления версиями.
-
В верхней части боковой панели щелкните .
-
В раскрывающемся меню выберите пункт Вытягивание.
Если конфигурация контейнера разработки была изменена с момента создания codespace, вы можете применить изменения, перестроив контейнер для codespace. Дополнительные сведения см. в разделе Основные сведения о контейнерах разработки.
Настройка codespace для автоматического получения новых изменений
Можно настроить codespace, чтобы автоматически получать сведения о любых новых фиксациях, внесенных в удаленный репозиторий. Это позволяет узнать, устарела ли локальная копия репозитория, и в этом случае можно извлечь новые изменения.
Если операция получения обнаруживает новые изменения в удаленном репозитории, вы увидите количество новых фиксаций в строке состояния. Затем можно извлечь изменения в локальную копию.
-
Нажмите кнопку Управление в нижней части панели действий.
-
В меню щелкните Параметры.
-
На странице параметров выполните поиск:
autofetch
. -
Чтобы получить сведения об обновлениях для всех удаленных параметров, зарегистрированных для текущего репозитория, установите Git: Autofetchна
all
. -
Если вы хотите изменить количество секунд между каждой автоматической выборкой, измените значение Git: Autofetch Period.
Создание запроса на вытягивание
-
Зафиксировав изменения в локальной копии репозитория, щелкните значок запроса на вытягивание в верхней части боковой панели "Система управления версиями".
-
Убедитесь в том, что локальная ветвь и репозиторий, из которых выполняется слияние, а также удаленная ветвь и репозиторий, с которыми выполняется слияние, выбраны правильно. Затем задайте для запроса на вытягивание название и описание.
-
Нажмите кнопку Create (Создать).
Отправка изменений в удаленный репозиторий
Вы можете отправлять сохраненные и зафиксированные изменения. После этого изменения будут применены к вышестоящей ветви в удаленном репозитории. Это можно сделать, если вы еще не готовы создать запрос на вытягивание или если вы предпочитаете создать такой запрос в GitHub.
-
В верхней части боковой панели щелкните .
-
В раскрывающемся меню щелкните Отправить.
Создание или переключение ветвей
-
Щелкните имя ветви в правой части строки состояния.
-
Во всплывающем меню выполните одно из указанных ниже действий.
-
Чтобы создать новую ветвь на основе текущей ветви, щелкните Создать ветвь.
Введите имя новой ветви и нажмите кнопку Создать.
-
Чтобы извлечь существующую ветвь, начните вводить имя ветви, которую вы хотите извлечь. Щелкните ветвь из списка и нажмите кнопку Извлечь.
Совет. Если кто-то недавно изменил файл в удаленном репозитории, в ветви, на который вы переключились, эти изменения могут не отображаться, пока вы не извлекете изменения в codespace.
-
Фиксация изменений
-
В правой части панели навигации установите флажок.
-
В диалоговом окне Фиксация изменений введите сообщение о фиксации.
-
Нажмите кнопку Зафиксировать.
Кроме того, щелкните стрелку вниз рядом с кнопкой Фиксация и нажмите кнопку Зафиксировать и отправить.
Вытягивание изменений из удаленного репозитория
Вы можете извлекать изменения из той же ветви в удаленном репозитории и применять их к копии репозитория, над которым вы работаете в codespace.
-
В правой части панели навигации щелкните стрелку вниз.
-
В диалоговом окне Обновление проекта укажите, нужно ли объединять или переначислить входящие изменения.
-
Нажмите кнопку ОК.
Отправка изменений в удаленный репозиторий
Вы можете отправлять сохраненные и зафиксированные изменения. После этого изменения будут применены к вышестоящей ветви в удаленном репозитории. Это можно сделать, если вы еще не готовы создать запрос на вытягивание или если вы предпочитаете создать такой запрос в GitHub.
-
В правой части панели навигации щелкните стрелку вверх.
-
В диалоговом окне Push Commits (Фиксации отправки) щелкните Push (Отправить).