Как отменить все добавленные файлы в Mercurial
скажем, я набираю hg add
в Mercurial, и есть куча неотслеженных файлов в моем рабочем каталоге, которые не игнорируются. Каков самый простой способ отменить добавление всех этих файлов без явного ввода имени каждого файла?
могу ли я просто удалить их все с помощью одной команды?
3 ответов
предисловие
вы всегда должны задавать вопросы, которые содержат как можно больше информации. Потому что теперь ваш вопрос, в зависимости от некоторых условий, может иметь совершенно разные ответы.
Case One - никаких локальных изменений в уже версионных файлах, только добавленные (и не зафиксированные) файлы
hg revert
вернет ваш рабочий каталог в состояние после последнего фиксации, отменяя все его изменения он.
Case One-локальные изменения, которые вы хотите сохранить и иногда добавлять файлы
- читайте о наборах файлов в Mercurial.
- используйте набор файлов в
hg forget
команда, что-то вродеhg forget "set:added()"
.
использовать hg revert
или hg forget
в файлах (оба делают то же самое для файла, который вы запустили hg add
on). Чтобы избежать ввода имен файлов, вы можете использовать fileset такой:
$ hg revert "set:added()"
это вернет файл обратно к тому, как он выглядел в рабочей копии родительской версии, т. е. он снова станет неизвестным.
вы всегда можете просто повторно клонировать свой репозиторий, а затем заменить (удалить существующий, а затем скопировать новый).каталог hg в вашей рабочей папке с каталогом из свежего клона... (предполагая, что у вас нет ожидающих коммитов..)