Как я могу вернуть набор изменений Mercurial в рабочий каталог и не фиксировать его в репо? - PullRequest
0 голосов
/ 13 февраля 2019

Backout работает, применяя набор изменений, противоположный набору изменений, подлежащему возврату.Этот новый набор изменений добавляется в репозиторий и в конечном итоге объединяется.

https://www.mercurial -scm.org / wiki / Backout

Как можно отказаться безсовершать ревизию?Я просто хочу, чтобы набор изменений был восстановлен в рабочем каталоге.

Ответы [ 2 ]

0 голосов
/ 14 февраля 2019

Предполагая, что вы уже совершили новую ревизию , но еще не нажали ее ;скажем, ваша история выглядит следующим образом:

A--B--C--★

где C - это недавно зафиксированный набор изменений, с которым вы хотите покончить, но оставьте его модификации в рабочей папке.И ★ - это рабочий каталог (а не реальная ревизия).

Существует несколько способов сделать это.Один из подходов заключается в следующем ...

hg up B

Таким образом ваша история выглядит так:

A--B--★
    \
     C

Затем выполните

hg revert -r C

, который фактически копирует любые изменения, которые были в C, в вашу рабочую папку.

Тогда вы можете сделать (необязательно)

hg strip C

, которыйуничтожает C из истории:

A--B--★

Преимущество этого подхода состоит в том, что он полностью удаляет C, как будто его никогда не было.

(я упоминал, что с помощью strip необязателен в этом смысле: если вы оставили C на месте, это принесет небольшой вред. И вам никогда не придется нажимать на него, если он помечен как секретный. Но лично я бы очистил его, сняв.)

0 голосов
/ 14 февраля 2019

Попробуйте hg backout --no-commit REV

Это выполнит возврат, но оставит изменения без изменений.

...