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