Во-первых, как указывали многие другие, использование именованной ветки для кратковременной работы не рекомендуется. Именованные ветки предназначены преимущественно для долгоживущих функций или для управления выпусками.
Учитывая, что вы находитесь в этой ситуации, есть несколько доступных вариантов. Все они связаны с изменением истории (поскольку вы, очевидно, пытаетесь изменить что-то, что вы сделали).
Один из них заключается в том, чтобы просто продвигать ветки как есть, учиться на опыте и двигаться дальше. Если остальную часть команды это устраивает, то это случай добавления --new-branch к вашей команде push.
Если остальная часть команды или вы действительно хотите, чтобы история была чистой, вам нужно копнуть глубже.
Если вы не нажимаете, то обязательно сделайте клон вашего текущего репо. Таким образом, у вас есть копия оригинальной работы, на которую можно опереться.
Я вижу здесь 2 основных подхода. Удалите слияния и перебазируйте свои ветки по умолчанию. Это позволит избавиться от названных ветвей или привить/пересадить ваши изменения. Оба будут одним и тем же конечным результатом, но реализация немного отличается.
Если вы просто хотите использовать graft, теперь это встроенный функция, начиная с HG 2.0. Он заменяет плагин трансплантации, и с ним намного приятнее работать, поскольку он использует ваш обычный инструмент слияния, если возникают конфликты.
Чтобы использовать его, обновитесь до ветки по умолчанию. Затем используйте команду:
hg graft -D "2085::2093 and not 2091"
строка после -D представляет собой запрос выбора версии hg. В вашем случае вам, скорее всего, понадобится только «{start}::{end}», где start — это набор изменений в начале ветки, а end — это конечный набор изменений ветки (игнорируя слияние).
Если бы вы сделали несколько слияний, вам пришлось бы более точно выбирать наборы изменений.
Другой вариант — удалить окончательные слияния и использовать команду rebase, которая является частью подключаемого модуля mq.
Вам придется удалить свои наборы изменений слияния, чтобы избавиться от них, а затем обновить до кончика ветки, которую вы хотите сохранить. Выберите начало первой названной ветки и выполните перебазирование. Это изменит происхождение ветки (если вы знакомы с Git, то это очень похоже на перебазирование).
Затем повторите для второй ветки. Теперь у вас должна быть одна длинная ветка с именем по умолчанию.
person
Mikezx6r
schedule
15.03.2011