Як видалити набори змін у Mercurial (hg)


14

коли я запускаю, у hg outмене є 3 вихідних набору змін. Я хочу їх викинути і повернути до того, як все знаходиться в центральному сховищі. Як?

Відповіді:


15

Використовуйте hg strip 'roots(outgoing())'


1
Ви також можете вказати ціль для вихідних наборів змін (якщо у вас немає репо за замовчуванням або ви хочете зняти відносно іншого репо) за допомогою hg strip 'roots(outgoing(target-name))'.
Джейсон Р. Кумбс

Дякую @ JasonR.Coombs, що дуже корисно. Мені було цікаво, як змінити вихідну () на основі наборів змін, відмінних від віддаленого URL-адреси репо за замовчуванням.
wbkang

3

Або перейдіть з центрального репо, або використовуйте clone -rдля повторного набору лише необхідних наборів змін.


3

Інший варіант - використовувати hg strip команду , яка є частиною розширення mq( mercurial queues ).

Філософія ртутного життя - це незмінна історія, тому команди, що маніпулюють цією історією, нахмурілися, але бувають випадки, коли зачистка або відсікання може вирішити більше проблем, ніж вони викликають.

Якщо ви використовуєте TortoiseHg, вам потрібно буде включити розширення MQ . До v1.0 THG він був включений за замовчуванням, але після довгого обговорення було вирішено, що це дійсно «розширена» функція, яку слід відмовитися, поки використання не матиме досвіду знати, як її ввімкнути.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.