#mercurial #branch
#mercurial #ветка
Вопрос:
Я по глупости не смог запустить ответвление от default
магистрали, чтобы провести некоторую экспериментальную работу, и теперь понимаю, что то, что я сделал, на самом деле не так уж и здорово. Поскольку этот код на самом деле используется другими (и в дикой природе), я хочу отметить ревизию 394
(последнее изменение, не внесенное в этом эксперименте) как надлежащий заголовок, и в основном удалить все, что я сделал). Какой был бы наилучший способ сделать это?
@ 397 my change, bad (tip)
|
|
o 396 my change, bad
|
|
o 395 my change, bad
|
|
o 394 good change
|
|
...
Это должно стать
@ 394 good change (tip)
|
|
|- 397 bad change (closed)
||
||
|o 396 bad change
||
||
|o 395 bad change
|/
|
...
Нужно ли мне выполнить фиктивную регистрацию на основе 394 (которая автоматически создаст новый заголовок)? Это кажется самым простым решением, но не самым «чистым».
Ответ №1:
Вам не нужна фиктивная регистрация, но вам нужно убедиться, что ваша следующая регистрация выполнена с версии 394.
hg update -r 394
<do work>
hg commit
Новая головка будет верхушкой.
В качестве альтернативы, если вы никуда не отправляли репозиторий [1], а просто хотите навсегда удалить эти ревизии, вы можете использовать расширение mq и либо strip
наборы изменений, либо qimport
их в очередь исправлений и qdel
исправления.
hg strip 395 # Will strip rev 395 and it's descendants
Это опасно, убедитесь, что вы все поняли правильно.
[1] Если вы уже отправили наборы изменений куда-либо слишком поздно, кот вылетел из мешка. Вам просто нужно будет перейти на версию 394.
Комментарии:
1. для создания модифицированной базы данных лучше использовать путь hg up — hg branch dead -branch — hg co — hg rebase . Удаление истории также можно выполнить с помощью расширения histedit
2. Да, кот уже вылез из мешка. Что я хотел знать, так это то, есть ли какой-нибудь способ сказать «обрабатывать 394 как текущую подсказку». Чтобы исправить этот беспорядок, я закончил тем, что сделал один новый push, который я основал на 394. Затем я закрыл другую главу.