Использование Git в редакторе
Использование Git в редакторе
Введение
Что такое Git?
Git — это система контроля версий кода, широко используемая в программных проектах. Она позволяет, в частности:
- иметь историю кода, в которой можно вернуться назад;
- синхронизировать несколько устройств и работать в команде над одними и теми же файлами, сводя конфликты к минимуму;
- поддерживать несколько версий одного и того же кода, чтобы разрабатывать и экспериментировать, не ломая рабочую версию;
- легко сохранять проект.
Папка, версии которой отслеживает Git, называется репозиторием (_repository_ или _repo_ по-английски).
Что такое хостинг Git?
Хотя Git — это программа, работающая локально (на вашем компьютере или в редакторе Leek Wars), она может также взаимодействовать с хостингом Git (форжем). Это сервер, на котором размещаются Git-репозитории.
Leek Wars поддерживает несколько хостингов; проще всего выбрать один из этих:
- GitHub, проприетарный сервис Microsoft (США). Там же размещён код Leek Wars.
- GitLab.com, официальный экземпляр GitLab (США) — свободного ПО, которое можно разместить самостоятельно.
- Bitbucket, проприетарный сервис Atlassian (США).
- Codeberg, официальный экземпляр Forgejo — свободного общественного ПО, которое можно разместить самостоятельно; размещается немецкой некоммерческой организацией.
Можно также использовать другие хостинги на базе GitLab, Bitbucket, Forgejo, Gitea или Gogs, например framagit.org или gitea.com.
Использование Git для существующего ИИ
Прежде всего, ИИ должен находиться в папке, а не в корне. Создайте папку, щёлкните по ней правой кнопкой и выберите «Инициализировать Git-репозиторий». Она будет содержать все файлы, которые нужно добавить в Git.
В верхней части списка файлов (меню слева) появится вкладка Git с пиктограммой ветвления. Перейдите туда.
Делаем коммиты
(коммит — это «фиксация» изменений в истории)
В верхней части вкладки Git убедитесь в выпадающем списке, что выбран нужный репозиторий (если у вас их несколько).
Когда файлы в репозитории изменяются, изменения появляются во вкладке Git. Пока они не проиндексированы: это как черновик, ещё не высеченный в камне истории.
Когда вы хотите записать изменения в историю, нажмите кнопку ➕, чтобы их проиндексировать. Кратко опишите изменения в поле «Сообщение коммита» и подтвердите.
Примечание: чтобы видеть все кнопки вкладки Git, может понадобиться расширить её вправо, потянув за правый край!
История — это список коммитов, где каждый коммит представляет собой набор изменений с датой и сообщением. Смысл в том, чтобы можно было найти, когда было сделано то или иное изменение, вернуться назад, сгруппировать изменения, чтобы не получить наполовину работающий код...
Подключение к хостингу Git
Настройка на стороне хостинга
Создайте аккаунт на хостинге Git и создайте там пустой репозиторий. Найдите адрес вашего репозитория — он должен выглядеть примерно как https://exemple.net/mon-pseudo/mon-depot.git. Это адрес главной страницы вашего репозитория с добавленным в конце .git.
Затем нужно разрешить Leek Wars доступ к репозиторию. Порядок действий зависит от хостинга.
- GitHub: проще всего установить GitHub App от Leek Wars прямо из редактора (см. ниже). В качестве альтернативы можно создать токен: нажмите на свой профиль, Settings, Developer Settings (в самом низу). На открывшейся странице выберите Personal access tokens, Tokens (classic). Задайте срок действия (например, 90 дней) и выдайте только права, необходимые для работы с репозиторием.
- Forgejo: Настройки аккаунта, Приложения, Новый токен доступа. Разрешите чтение и запись для «repository».
Если вы создали токен (_token_), надёжно сохраните его, чтобы не потерять!
Настройка на стороне Leek Wars
В нижней части вкладки Git нажмите кнопку с облаком «Параметры удалённого репозитория».
Здесь объявляется удалённый репозиторий (remote): укажите имя (например, origin), вставьте URL репозитория и нажмите кнопку «Добавить». Этот шаг обязателен, прежде чем можно будет что-либо отправить.
Для аутентификации выберите ваш хостинг: GitHub, GitLab, Bitbucket или Forgejo.
- GitHub: основной путь — кнопка «Установить GitHub App». При установке выберите репозитории, к которым предоставить доступ; вернувшись в Leek Wars, вы сможете напрямую выбрать один из этих репозиториев для remote. В качестве альтернативы вставьте Personal Access Token в поле «Токен доступа».
- GitLab и Bitbucket: вставьте токен в поле «Токен доступа». Если вы используете самостоятельно размещённый экземпляр, а не gitlab.com или bitbucket.org, отметьте «Самостоятельно размещённый экземпляр» и укажите адрес хостинга (этот флажок есть и для GitHub).
- Forgejo: для этого хостинга флажка «Самостоятельно размещённый экземпляр» нет, поле адреса экземпляра показывается всегда (предзаполнено codeberg.org). При необходимости укажите адрес вашего экземпляра и вставьте токен в поле «Токен доступа».
Отправка коммитов на сервер
Пока история коммитов хранится только в Leek Wars. Чтобы отправить её на хостинг, выполняется push кнопкой ⬆ в самом низу вкладки Git.
Каждый раз, когда вы захотите отправить новые коммиты, делайте push.
Другие функции
Редактор и вкладка Git также предлагают:
- Клонирование репозитория: меню «Файл» → «Клонировать git-репозиторий», указав URL репозитория и папку назначения.
- Получение (pull): кнопка «Получить (pull)» для загрузки коммитов из remote, на выбор со стратегией merge или rebase («Стратегия pull»).
- Ветки: селектор веток позволяет переключаться между ними, создавать новые («Новая ветка...») и видеть удалённые ветки.
- История и diff: кнопка «История» выводит список коммитов, а щелчок по изменённому файлу показывает его отличия.
- Разрешение конфликтов: при конфликте во время слияния или rebase редактор позволяет их разрешить и продолжить.
- Отменить последний коммит: изменения отменённого коммита остаются в индексе.
- Сжать репозиторий: уменьшает занимаемое репозиторием место (полезно для квоты).
- Встроенный терминал Git: показывает журнал команд Git, выполненных редактором.