MQL5 Algo Forge — встроенная в MetaEditor система контроля версий и хранения данных на базе Git. Она работает прежде всего с папкой MQL5, содержащей все алгоритмы, и специальной папкой Shared Projects, в которой хранятся публичные проекты.
Git — система контроля версий, которая сохраняет историю изменений файлов. Она помогает не потерять важные изменения, позволяет легко вернуться к предыдущей версии, работать в отдельных ветках и объединять работу нескольких разработчиков в одном проекте. Дополнительную информацию об основах работы с Git можно найти в официальной документации.
Коммит (commit) фиксирует состояние файлов в определенный момент времени. Каждый коммит имеет уникальный идентификатор и сообщение с описанием внесенных изменений. История проекта формируется из коммитов, веток и связей между ними.
Вы можете посмотреть, когда были внесены изменения, кто их сделал, какие файлы были изменены и что именно вошло в каждый коммит. Кроме того, можно сравнивать версии файлов, восстанавливать их предыдущее состояние, переключаться между ветками и при необходимости отменять отдельные изменения.
При работе над общим проектом рекомендуется регулярно получать изменения из удаленного репозитория. Это позволяет Git автоматически объединять изменения, которые не конфликтуют с вашей локальной копией. Однако если два пользователя изменили одну и ту же строку кода или внесли взаимоисключающие изменения, может возникнуть конфликт. В этом случае необходимо разрешить конфликт до создания нового коммита или отправки изменений в удаленный репозиторий.
Основной сценарий работы:
Перед началом работы необходимо авторизоваться в MetaEditor с помощью аккаунта MQL5.community. Начать работу с Git для выбранного каталога можно следующими способами:
Git является программой командной строки, но MetaEditor предоставляет удобный графический интерфейс для выполнения основных операций. Доступ к командам Git можно получить из нескольких мест:
1. Щелкните правой кнопкой мыши на файле или папке в окне Навигатора.

2. Щелкните правой кнопкой мыши по вкладке открытого файла.

3. Щелкните правой кнопкой мыши в области редактора кода.

4. В верхнем меню выберите Git.

Эти команды выполняют операции Git и взаимодействуют с MQL5 Algo Forge.
Чтобы добавить локальный файл или папку в репозиторий MQL5, щелкните по нему правой кнопкой мыши и выберите «Добавить файл/папку в Git». Откроется окно со списком файлов, которые будут добавлены.

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

Ветка представляет собой отдельную линию разработки, в которой можно безопасно создавать новые функции или исправлять ошибки, не затрагивая стабильную версию проекта. После завершения работы и тестирования изменения можно объединить с основной веткой.
Щелкните правой кнопкой мыши по файлу или папке, выберите «Ветка Git», а затем «Новая». В открывшемся окне укажите название ветки и нажмите OK.

После этого можно переключиться на новую ветку и продолжить работу в ней.
Переключение между ветками позволяет быстро переходить между разными версиями проекта. При этом локальные файлы автоматически приводятся в соответствие с выбранной веткой.
Щелкните правой кнопкой мыши по файлу или папке и выберите «Втка Git». В списке веток выберите нужную ветку.
Измененные файлы и папки помечаются специальным значком
.
![]()
Перед созданием коммита можно просмотреть изменения в файле. Для этого щелкните по нему правой кнопкой мыши и выберите «Посмотреть разницу с Git».
Для отправки изменений щелкните правой кнопкой мыши по файлу или папке и выберите «Отправить изменения в Git».
В окне создания коммита можно выбрать файлы, которые необходимо зафиксировать, и добавить комментарий. Подробные комментарии помогают в дальнейшем разбираться в истории изменений проекта.

Нажмите ОК — MetaEditor создаст коммит и отправит его в удаленный репозиторий.
После успешного выполнения операций отправки и фиксации изменений соответствующие файлы и папки будут помечены специальным значком
.
Если над проектом работают несколько человек, кто-то может внести изменения и отправить их раньше вас. Аналогичная ситуация возникает, если вы внесли изменения на одном компьютере, а продолжаете работу на другом. Получение изменений из удаленного репозитория позволяет обновить локальную копию проекта и помогает избежать конфликтов.
Чтобы получить все доступные изменения, щелкните правой кнопкой мыши папку и выберите «Получить обновления из Git». При этом на вкладке «Журнал» появится информация о выполненной операции, включая сведения о полученных изменениях.

После редактирования кода или удаления файлов можно легко вернуть проект в состояние, которое было до внесения этих изменений.
Чтобы отменить изменения в файле или папке, щелкните по ним правой кнопкой мыши и выберите «Откатить изменения в Git».
Если в проекте изменено несколько файлов, откроется окно выбора. Выберите файлы, изменения которых необходимо отменить, и нажмите ОК.

Если изменения, которые нужно отменить, уже были зафиксированы в коммите, используйте отмену коммита.
Если определенный коммит нарушил работу программы или его изменения больше не нужны, их можно отменить.
Щелкните правой кнопкой мыши по нужному файлу или папке и выберите «Посмотреть журнал Git», чтобы открыть историю коммитов. Затем щелкните правой кнопкой мыши коммит, который необходимо отменить, и выберите «Откатиться к ревизии».

MetaEditor создаст новый коммит, отменяющий изменения выбранного коммита, при этом вся история проекта сохранится.
Чтобы удалить файл или папку, щелкните по ним правой кнопкой мыши и выберите «Удалить». Файл или папка будут удалены из локальной копии проекта.
Чтобы удалить их также из удаленного репозитория, обновите проект, а затем создайте коммит с удалением. Как и другие коммиты, этот коммит будет автоматически отправлен MetaEditor в удаленный репозиторий.
Чтобы удалить проект из папки Shared Projects, щёлкните по нему правой кнопкой мыши и выберите «Удалить публичный проект».
Локальная копия проекта будет удалена. Если вы являетесь автором проекта, его копия также будет удалена из удаленного репозитория.
История коммитов для конкретного файла или папки содержит комментарии, имена авторов и даты. Она позволяет отслеживать изменения файла или папки на протяжении всего времени работы над проектом.
Щелкните правой кнопкой мыши по файлу или папке и выберите «Посмотреть журнал Git».
В верхней части окна отображаются следующие столбцы:

Выберите коммит в списке — в нижней части окна появятся файлы, которые были изменены, добавлены или удалены в этом коммите.

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