Сайт

Source Control

Панель «Контроль версий» позволяет расширению работать с собственной историей Git прямо в Мастерской. Вы можете индексировать и коммитить изменения, смотрите историю и диффы, управлять ветками и пушить в удалённый репозиторий, не покидая Fragmenta.

Где находится

«Контроль версий» — вкладка в левой панели Мастерской, рядом с файловым Explorer. Она всегда отслеживает активное расширение: репозиторий соответствует папке этого расширения на вашем устройстве. У каждого расширения свой отдельный репозиторий, при этом «Контроль версий» не используется для проектов.

Чтобы использовать контроль версий, расширение уже должно находиться на устройстве. Если расширение расположено в облаке, сначала появится действие «Скачать на устройство». Если папка расширения ещё не является репозиторием Git, нажмите «Инициализировать репозиторий» - создаст репозиторий на ветке по умолчанию (main).

Коммит изменений

  1. Зафиксируйте изменения

    Изменённые файлы сгруппированы по состоянию, у каждой группы есть счётчик:

    • «Изменения» — модифицированные файлы, отслеживаемые Git.
    • «Проиндексировано» — то, что войдёт в следующий коммит.
    • «Неотслеживаемые» — новые файлы, которые Git ещё не отслеживает.
    • «Конфликты слияния» — файлы с конфликтами во время merge.
  2. Проиндексируйте

    Вы можете «Проиндексировать» файл (или всю группу), чтобы включить его в следующий commit, «Убрать из индекса» — чтобы вернуть обратно, «Откатить изменения» — чтобы вернуть файл к последнему коммиту — это необратимо, поэтому запрашивается подтверждение. Откат неотслеживаемого файла удаляет его.

  3. Закоммитьте

    Введите сообщение и сделайте коммит. В поле сообщения можно использовать mod + Enter. При первом коммите вас попросят указать Git-идентичность (имя и email), предзаполненную из вашего аккаунта.

    Основная кнопка меняется в зависимости от состояния репозитория: «Коммит» при наличии изменений, Publish Branch, когда у ветки ещё нет upstream, затем Push, Pull или Sync Changes — в зависимости от того, насколько вы впереди или позади remote.

История и диффы

«Граф» показывает историю коммитов, включая линии веток, значки ссылок и относительные метки времени. Щёлкните коммит правой кнопкой, чтобы увидеть такие параметры, как: «Перейти на коммит», «Скопировать ID коммита», «Скопировать сообщение коммита», «Создать ветку…», при этом левый клик открывает его дифф.

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

Сигналы в редакторе

Пока «Контроль версий» активен, вы также видите индикаторы состояния Git прямо там, где работаете:

  • Значки в Explorer — каждый файл показывает букву и цвет, обозначающие его состояние (изменён, добавлен, удалён, переименован, неотслеживаем, конфликтен и так далее), а эти индикаторы сводятся на содержащих их папках.
  • Маркеры на полях — добавленные, изменённые и удалённые строки отмечаются на полях редактора кода.
  • Встроенное разрешение конфликтов — у конфликтующих файлов появляются встроенные действия: «Принять текущее изменение», «Принять входящее изменение» и «Принять оба изменения», плюс баннер слияния и «Прервать слияние».

Ветки и удалённые репозитории

Вы можете управлять ветками из меню ⋯ панели: «Переключить ветку…», «Создать ветку…» и «Удалить ветку…». Индикатор ветки в нижней панели — это также ссылка на окно выбора «Переключить ветку…», где также можно создать ветку.

Чтобы подключить удалённый репозиторий, используйте «Добавить remote…». Это добавит origin и свяжет удалённый репозиторий с расширением, чтобы публикация могла запушить в него тегированный релиз. После подключения Fetch, Pull, Push и «Синхронизировать» перемещают коммиты между вашей машиной и удалённым репозиторием.

Аутентификация использует учётные данные системного Git (SSH-ключи, credential helper). Если удалённая операция не проходит аутентификацию, «Контроль версий» покажет действие «Открыть терминал», чтобы вы могли войти так, как ожидает ваша настройка Git.

Дальше