Локальный Rebase в 1С:EDT — подробное руководство для разработчиков 1С | Практика Git и работа с ветками
Размер шрифта
Цвет фона и шрифта
Изображения
Озвучивание текста
Обычная версия сайта
КРОН


Разрабатываем на 1С и создаем собственные продукты


8(800) 551-65-10
8(800) 551-65-10 Основной
8(499) 113-10-60 Отдел кадров
8(495) 266-65-10 Отдел продаж
E-mail
sales@i-cron.ru
Адрес
Москва г, пр-кт Вернадского, д. 94, к. 3, офис 6, помещ. XIX
Режим работы
Пн. – Пт.: с 9:00 до 18:00
Компания
  • О компании
  • Сотрудники
  • Отзывы
  • Вакансии
  • Реквизиты
  • Нам доверяют
Услуги
  • Специалисты на full-time
    • Разработчики 1С
    • Аналитики 1С
    • Консультанты 1С
  • Позадачная разработка
    • Fixed Price
    • Time&Material
  • Проектная разработка
    • Примеры проектов
  • Разработка под ключ
    • Разработка корпоративного сайта
  • Сервисы 1С
    • 1С:Фреш
  • Услуги 1С
    • Доработка 1С
    • Импортозамещение зарубежного ПО на 1С
    • Настройка 1С
    • Обновление 1С
    • Внедрение 1С
    • Сопровождение 1С
Проекты
  • Проекты по внедрению и переходу
  • Проекты по доработкам и сопровождению
  • Проекты по интеграции
Блог
Информация
  • Вопрос-ответ
Контакты
Карьера в Крон
КРОН
8(800) 551-65-10
8(800) 551-65-10 Основной
8(499) 113-10-60 Отдел кадров
8(495) 266-65-10 Отдел продаж
E-mail
sales@i-cron.ru
Адрес
Москва г, пр-кт Вернадского, д. 94, к. 3, офис 6, помещ. XIX
Режим работы
Пн. – Пт.: с 9:00 до 18:00
Войти
Компания
  • О компании
  • Сотрудники
  • Отзывы
  • Вакансии
  • Реквизиты
  • Нам доверяют
Услуги
  • Специалисты на full-time
    Специалисты на full-time
    • Разработчики 1С      
      • Разработчик 1С (middle)
      • Разработчик 1С (senior)
    • Аналитики 1С      
      • Системный аналитик 1С
    • Консультанты 1С      
      • Консультант 1С (управленческий и бухгалтерский учет)
      • Консультант 1С ERP
      • Консультант 1С Документооборот
      • Консультант 1С УХ
  • Позадачная разработка
    Позадачная разработка
    • Fixed Price
    • Time&Material
  • Проектная разработка
    Проектная разработка
    • Примеры проектов      
      • Внедрение системы оборота подарочных сертификатов в торговой компании
      • Доработка 1С:ERP, разработка блока "Маркировка" с нуля
      • Разработка на 1С:ERP. Интеграция с Контур.Диадок
  • Разработка под ключ
    Разработка под ключ
    • Разработка корпоративного сайта
  • Сервисы 1С
    Сервисы 1С
    • 1С:Фреш
  • Услуги 1С
    Услуги 1С
    • Доработка 1С
    • Импортозамещение зарубежного ПО на 1С
    • Настройка 1С
    • Обновление 1С
    • Внедрение 1С
    • Сопровождение 1С
Проекты
  • Проекты по внедрению и переходу
  • Проекты по доработкам и сопровождению
  • Проекты по интеграции
Блог
Информация
  • Вопрос-ответ
Контакты
Карьера в Крон
    КРОН
    Компания
    • О компании
    • Сотрудники
    • Отзывы
    • Вакансии
    • Реквизиты
    • Нам доверяют
    Услуги
    • Специалисты на full-time
      Специалисты на full-time
      • Разработчики 1С      
        • Разработчик 1С (middle)
        • Разработчик 1С (senior)
      • Аналитики 1С      
        • Системный аналитик 1С
      • Консультанты 1С      
        • Консультант 1С (управленческий и бухгалтерский учет)
        • Консультант 1С ERP
        • Консультант 1С Документооборот
        • Консультант 1С УХ
    • Позадачная разработка
      Позадачная разработка
      • Fixed Price
      • Time&Material
    • Проектная разработка
      Проектная разработка
      • Примеры проектов      
        • Внедрение системы оборота подарочных сертификатов в торговой компании
        • Доработка 1С:ERP, разработка блока "Маркировка" с нуля
        • Разработка на 1С:ERP. Интеграция с Контур.Диадок
    • Разработка под ключ
      Разработка под ключ
      • Разработка корпоративного сайта
    • Сервисы 1С
      Сервисы 1С
      • 1С:Фреш
    • Услуги 1С
      Услуги 1С
      • Доработка 1С
      • Импортозамещение зарубежного ПО на 1С
      • Настройка 1С
      • Обновление 1С
      • Внедрение 1С
      • Сопровождение 1С
    Проекты
    • Проекты по внедрению и переходу
    • Проекты по доработкам и сопровождению
    • Проекты по интеграции
    Блог
    Информация
    • Вопрос-ответ
    Контакты
    Карьера в Крон
      8(800) 551-65-10 Основной
      8(499) 113-10-60 Отдел кадров
      8(495) 266-65-10 Отдел продаж
      E-mail
      sales@i-cron.ru
      Адрес
      Москва г, пр-кт Вернадского, д. 94, к. 3, офис 6, помещ. XIX
      Режим работы
      Пн. – Пт.: с 9:00 до 18:00
      КРОН
      Телефоны
      8(800) 551-65-10 Основной
      8(499) 113-10-60 Отдел кадров
      8(495) 266-65-10 Отдел продаж
      E-mail
      sales@i-cron.ru
      Адрес
      Москва г, пр-кт Вернадского, д. 94, к. 3, офис 6, помещ. XIX
      Режим работы
      Пн. – Пт.: с 9:00 до 18:00
      КРОН
      • Компания
        • Компания
        • О компании
        • Сотрудники
        • Отзывы
        • Вакансии
        • Реквизиты
        • Нам доверяют
      • Услуги
        • Услуги
        • Специалисты на full-time
          • Специалисты на full-time
          • Разработчики 1С
            • Разработчики 1С
            • Разработчик 1С (middle)
            • Разработчик 1С (senior)
          • Аналитики 1С
            • Аналитики 1С
            • Системный аналитик 1С
          • Консультанты 1С
            • Консультанты 1С
            • Консультант 1С (управленческий и бухгалтерский учет)
            • Консультант 1С ERP
            • Консультант 1С Документооборот
            • Консультант 1С УХ
        • Позадачная разработка
          • Позадачная разработка
          • Fixed Price
          • Time&Material
        • Проектная разработка
          • Проектная разработка
          • Примеры проектов
            • Примеры проектов
            • Внедрение системы оборота подарочных сертификатов в торговой компании
            • Доработка 1С:ERP, разработка блока "Маркировка" с нуля
            • Разработка на 1С:ERP. Интеграция с Контур.Диадок
        • Разработка под ключ
          • Разработка под ключ
          • Разработка корпоративного сайта
        • Сервисы 1С
          • Сервисы 1С
          • 1С:Фреш
        • Услуги 1С
          • Услуги 1С
          • Доработка 1С
          • Импортозамещение зарубежного ПО на 1С
          • Настройка 1С
          • Обновление 1С
          • Внедрение 1С
          • Сопровождение 1С
      • Проекты
        • Проекты
        • Проекты по внедрению и переходу
        • Проекты по доработкам и сопровождению
        • Проекты по интеграции
      • Блог
      • Информация
        • Информация
        • Вопрос-ответ
      • Контакты
      • Карьера в Крон
      • Кабинет
      • 8(800) 551-65-10 Основной
        • Телефоны
        • 8(800) 551-65-10 Основной
        • 8(499) 113-10-60 Отдел кадров
        • 8(495) 266-65-10 Отдел продаж
      • Москва г, пр-кт Вернадского, д. 94, к. 3, офис 6, помещ. XIX
      • sales@i-cron.ru
      • Пн. – Пт.: с 9:00 до 18:00

      Локальный Rebase в 1С:EDT. Просто о сложном.

      Главная
      —
      Статьи
      —
      Статьи на тему "Обучение 1С"
      —Локальный Rebase в 1С:EDT. Просто о сложном.
      Обучение 1С
      9 декабря 2025

      Локальный Rebase в 1С: EDT. Просто о сложном.

      Локальный Rebase в 1С:EDT - это мощная и достаточно продвинутая операция по актуализации вашей локальной ветки (синхронизация с последними изменениями) перед тем, как выполнять слияние с главной веткой.

      Давайте разберём подробно, что это такое, зачем нужно и как работает.

      Для начала примем договорённость: в удалённом репозитории Git существует главная ветка с именем dev. Обычно главной ветке дают такие имена, как main, develop или просто dev. В нашем примере имя главной ветки - dev.

      Зачем это нужно в 1С:EDT?

      Прежде всего - для вашей локальной ветки. Например, вы создали от главной ветки dev свою локальную ветку и переименовали её в feature/my-branch.

      1 рис.png

      2 рис.png

      Нажимаем «Готово».

      Локально появится новая ветка с заданным именем.

      3 рис.png

      Как это выглядит схематически в терминах веток репозитория Git:

      4 рис.png

      На рисунке новая ветка указывает на тот же самый коммит, что и ветка dev.

      В дальнейшем, после первого коммита, картина будет выглядеть примерно так:

      5 рис.png

      На рисунке видно, что в новой ветке были зафиксированы изменения. Новая ветка и ветка dev указывают на разные коммиты.

      Важная информация

      Обратим внимание: при создании новой ветки не происходит фиксации изменений (нового коммита).
      Следовательно, на этом шаге уникальные идентификаторы последних коммитов у ветки dev и у новой ветки feature/my-branch совпадают.

      Если два коммита имеют одинаковый уникальный идентификатор (хеш-сумму), это один и тот же коммит.

      Что происходит технически:

      1. Git создает новый указатель feature/my-branch

      2. Этот указатель устанавливается на тот же коммит , на который указывает dev

      3. Обе ветки ссылаются на коммит с идентификатором 38ccc60

      4. Ветки отличаются только указателями, но не содержанием

      6 рис.png

      Для информации: Справа от ветки видим служебную информацию - уникальный идентификатор последнего коммита в ветке dev, от которой мы извлекли ветку. В Git каждый коммит характеризуется уникальным идентификатором. 

      "Уникальные идентификаторы" здесь - это хеш-суммы коммитов, которые Git гарантирует, как уникальные для каждого коммита

      Работа в ветке

      После создания новой локальной ветки мы можем переключиться в перспективу 1С и выполнять доработки.

      Например: вы работали в своей ветке feature/my-branch несколько дней. За это время в основную ветку dev коллеги уже влили (merge) свои изменения. Чтобы убедиться, что ваш функционал работает с самой последней версией кода, вы перебазируете свою ветку на свежую dev. Это помогает выявить конфликты до создания Merge Request.

      Если говорить просто, локальный rebase - это операция переноса ваших изменений поверх новых изменений, которые появились в главной ветке dev с момента начала вашей работы.

      Подготовка к rebase

      За время работы в удалённом репозитории могли произойти изменения — коллеги добавили свои коммиты в ветку dev.

      Если проводить аналогию с хранилищем конфигурации, это означает, что «ваша база разработки отстала от актуальной версии хранилища». Визуально это выглядит вот так: 

      7 рис.png

      Для начала необходимо актуализировать служебную ветку.

      Для информации: В 1С:EDT в перспективе Git есть структура папок. В ней есть специальная служебная папка «Удаленное отслеживание» (Remote Tracking). Внутри нее находятся ветки, относящиеся к специальному типу веток, которые создаются Git для отслеживания состояния соответствующих веток на удаленном репозитории. 

      Ветки удаленного отслеживания - это локальные копии веток из удаленного репозитория (например, с GitLab, GitHub). Они имеют специальные имена в формате: remotes/origin/имя_ветки

      Например:

      remotes/origin/dev - отслеживает ветку dev с удаленного сервера remotes/origin/feature/new-report - отслеживает ветку feature/new-report

      Ветки remotes/origin/* являются read-only. Вы не можете в них напрямую коммитить. Они обновляются только специальными командами Git через консоль либо интерактивно 

      Давайте обновим служебную ветку remotes/origin/dev которая отслеживает изменения главной ветки в удаленном репозитории. Сделаем это интерактивно через команды EDT:

      8 рис.png

      9 рис.png

      10 рис.png

      В последнем диалоговом окне отобразится список всех коммитов, которые были «слиты» в ветку dev. 

      Обновление служебной ветки remotes/origin/dev завершено. Теперь задача - перенести свои локальные доработки "поверх" новых изменений главной ветки dev. 

      Процесс перебазирования

      Для перебазирования локальной ветки поверх изменений главной ветки dev в EDT существует команда «Перебазировать»

      11 рис.png

      Позиционируемся на ветке из «Удаленного отслеживания», поверх которой мы будем вносить наши изменения: 


      12 рис.png

      Устанавливаем check-box «Перебазировать интерактивно» что даст в дальнейшем возможность решить конфликты в контролируемой среде

      Запускаем процесс перебазирования (rebase), обращаем внимание на правый нижний угол в перспективе Git: 

      13 рис.png
      Для запуска старта операции перебазирования нажимаем в соответствующем окне команду «Старт»:

      14 рис.png

      Что происходит технически?

      Поскольку нам нужно наши изменения перенести поверх актуализированной ветки dev из удаленного отслеживания, то с нашей локальной ветки коммиты временно снимаются, она как бы замещается на состояние выбранной ранее ветки dev. И теперь наша задача поверх нее «накатить» наши коммиты. Этот процесс пошаговый и количество шагов есть количество наших сделанных коммитов.

      Разрешение конфликтов

      Напомним, что в 1С: EDT мы работаем с конфигурацией как с распределенной структурой файлов и папок. Например, мы добавили новый справочник «НовыйСправочник». Что поменялось в локальном репозитории? 

      15 рис.png

      На скиншоте мы видим локальный репозиторий Git.

      «Сердцем» распределенной структуры файлов конфигурации является файл Configuration.mdo, который отвечает за описание структуры конфигурации базы 1С.

      16 рис.png
      Допустим, мы отнесли новый справочник к подсистеме «Служебная». Таким образом мы изменили состав соответствующей подсистемы. Соответственно откроется окно для разрешения конфликтов:

      17 рис.png

      18 рис.png

      Таким образом в результате доработок изменилось содержимое общих файлов отвечающее за описание содержимого объектов конфигурации и содержимое подсистемы.

      Конфликты возникают в том случае, если в процессе вашей работы в главную ветку были добавлены новые объекты.

      19 рис.png

      Нажимаем «Продолжить» для разрешения конфликтов: 

      20 рис.png

      Разрешаем конфликты в «проблемных» файлах. Копируем текущее изменение справа/налево - ВНИМАТЕЛЬНО (могут дублироваться объекты и др.)

      Сохранить файл после отработки всех конфликтов (Ctrl+S) и перейти к следующему файлу, относительно которого обнаружен конфликт.

      Переходим на вкладку (окно) «Индексирование Git» - Неиндексированные изменения - Добавить выбранные файлы в индекс

      21 рис.png

      Важно! Результат фиксировать НЕ НУЖНО. Нажимаем продолжить

      22 рис.png

      EDT продолжает rebase, переходя на следующий шаг (отработка следующего коммита). Можно снова перейти на вкладку «Interactive rebase» чтобы проследить работу EDT. 

      В случае, если конфликтов при отработке следующего коммита не будет обнаружено, система автоматически будет переходить к следующему шагу, «просигналит» аналогичным образом только в случае очередного конфликта, требующего «ручного» вмешательства со стороны разработчика.

      Завершение и проверка 

      Итого после решения всех конфликтов (для каждого коммита в ветку) проверяем историю локальной ветки: является наследником dev, есть n коммитов текущей ветки от dev
      Проверяем историю ветки:
      23 рис.png

      Отправляем ветку в удаленный репозиторий

      24 рис.png

      25 рис.png

      Результат перебазирования (rebase) схематически можно представить так: 

      26 рис.png

      Что происходит технически:

      1. Берётся ваша текущая локальная ветка (например, feature/my-branch)

      2. Временно снимаются ваши коммиты с этой ветки

      3. Ветка переключается на актуальный конец целевой ветки (в нашем случае, origin/dev)

      4. Ваши коммиты применяются заново поверх новых изменений

      5. Ветка feature/my-branch обновляется - теперь она указывает на новую цепочку коммитов

      Обратите внимание:

      Ветка feature/my-branch осталась с тем же именем

      Но коммиты, условно обозначим как E, F, G, были пересозданы как E', F', G' (с новыми хешами, т.е. уникальными идентификаторами)

      История была переписана - это ключевая характеристика rebase

      Заключение

      Локальный rebase - это мощный инструмент, который помогает поддерживать вашу ветку в актуальном состоянии и обеспечивать беспроблемную интеграцию изменений в главную ветку (merge). Основные преимущества этого подхода:

      Чистая история коммитов - линейная история без лишних merge-коммитов
      Раннее обнаружение конфликтов - проблемы решаются до создания Merge Request
      Уверенность в совместимости - ваш код тестируется с самой свежей версией главной ветки 
       
      Важные напоминания:
      Всегда обновляйте ветки удаленного отслеживания перед rebase
      Внимательно разрешайте конфликты -это ключ к успешному rebase
      После rebase обязательно тестируйте свой функционал
      Освоив локальный rebase, вы значительно упростите процесс код-ревью и слияния изменений в команде.

      Автор статьи:
      Ангелин Александр 
      Ведущий разработчик 1С 
      ООО КРОН



      • Комментарии
      Загрузка комментариев...
      Назад к списку
      • 1С:Зазеркалье 1
      • IТ-услуги 8
      • Импортозамещение 1
      • Настройка и доработка 1С 3
      • Новости 1
      • Обучение 1С 7
      • Роли на проекте 4
      1cmycl 1С EDT Java 17 1С EDT временные файлы 1С EDT настройка 1С EDT создание проекта 1С EDT установка 1С веб-сервисы 1С и маркетплейсы 1С Элемент синтаксис 1С:Предприятие.Элемент EDT для 1С:Предприятие HTTPЗапрос 1С REST API 1С архитектура конфигурации 1С выгрузка JSON выгрузка XML загрузка JSON загрузка XML интеграция 1С и REST API интеграция 1С и сайтов как выявить технический долг в 1С обмен данными 1С обмен с Power BI оптимизация 1С оптимизация памяти EDT ошибки в разработке 1С потоки записи 1С пример кода 1С Элемент примеры технического долга 1С проблемы 1С EDT работа с ветками Git в EDT рефакторинг 1С связка 1С и Google Sheets СериализацияJson снижение затрат на поддержку 1С технический долг в 1С управление техническим долгом хранилище двоичных данных
      Мы в телеграм @cronpartners, новости из мира IT, 1C, актуальные вакансии Подписаться
      Компания
      О компании
      Сотрудники
      Отзывы
      Вакансии
      Реквизиты
      Нам доверяют
      Услуги
      Специалисты на full-time
      Позадачная разработка
      Проектная разработка
      Разработка под ключ
      Сервисы 1С
      Услуги 1С
      8(800) 551-65-10
      8(800) 551-65-10 Основной
      8(499) 113-10-60 Отдел кадров
      8(495) 266-65-10 Отдел продаж
      E-mail
      sales@i-cron.ru
      Адрес
      Москва г, пр-кт Вернадского, д. 94, к. 3, офис 6, помещ. XIX
      Режим работы
      Пн. – Пт.: с 9:00 до 18:00
      sales@i-cron.ru
      Москва г, пр-кт Вернадского, д. 94, к. 3, офис 6, помещ. XIX
      © 2025 ООО КРОН
      Политика конфиденциальности
      Карта сайта