Как удалить исходящие наборы изменений в Mercurial (hg)

14

когда я бегу, у hg outменя есть 3 исходящих набора изменений. Я хочу уничтожить их и вернуться к тому, как обстоят дела в центральном хранилище. Как?

adambox
источник

Ответы:

15

использование hg strip 'roots(outgoing())'

wbkang
источник
1
Вы также можете указать цель для исходящих наборов изменений (если у вас нет репо по умолчанию или вы хотите разделить его относительно другого репо), используя hg strip 'roots(outgoing(target-name))'.
Джейсон Р. Кумбс
Спасибо @ JasonR.Coombs, это супер полезно. Мне было любопытно, как изменить исходящие () на основе наборов изменений, отличных от URL удаленного репо по умолчанию.
wbkang
3

Либо откиньтесь от центрального репо, либо используйте, clone -rчтобы откинуть только необходимые ревизии.

тонфа
источник
3

Другой вариант - использовать hg strip команду , которая является частью расширения mq( mercurial queues ).

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

Если вы используете TortoiseHg, вам нужно будет включить расширение MQ . До версии 1.0 THG она была включена по умолчанию, но после долгих обсуждений было решено, что это действительно «продвинутая» функция, которую следует отключить до тех пор, пока пользователь не приобретет опыт, чтобы узнать, как ее включить.

Марк Бут
источник