Пересадка в одну смену

Я пытаюсь переместить изменения из нескольких наборов изменений в один набор изменений в другой ветви. Между ними есть и другие изменения, которые я хочу пропустить, поэтому я не хочу просто объединять все.

hg transplant перемещает изменения правильно, но теперь я хотел бы объединить их в один коммит. Как я могу это сделать?

2 ответа

Решение

Вы можете сложить их

  1. Резервное копирование хранилища, сбой во время процесса может уничтожить данные
  2. пересадить нужные изменения в целевую ветку
  3. превратить их там в ртутную очередь (hg qimport -r first-to-fold-rev:)
  4. сложить их в один патч (hg qpop пока не будет применен первый патч, тогда hg qfold <<patch name>> следующие патчи в этот)
  5. Отредактируйте сообщение о коммите (когда НЕТ ВЫДАЮЩИХСЯ ИЗМЕНЕНИЙ hg qrefresh -e)
  6. применить один патч к вашему хранилищу (hg qfinish -a).
  7. Когда есть еще развернутые патчи:
    1. hg qpush до головы
    2. hg qfinish -a
    3. Просмотрите новое состояние репо (hg glog/hg incoming)

hg rebase имеет параметр --collapse`. Я думаю, это то, что вы ищете.

Другие вопросы по тегам