Использование hg возвращается в Mercurial

Я использую Mercurial. Я сделал клон хранилища. Для отладки я изменил несколько строк кода в java файле. Однако я не совершал эти изменения. Я просто хочу вернуть их обратно в исходное состояние, как показано в репозитории. Я пробовал hg revert filename.java, который вернул его, но теперь, когда я делаю hg status, я вижу дополнительные файлы, добавленные в мою папку, теперь вроде:

? filename.java.orig

Можно ли просто удалить эти файлы, и почему Mercurial делает их, когда я использую revert?

Ответ 1

Да, вы можете удалить их. Это функция безопасности, если вы вернули то, что вы не хотели возвращать.

Ответ 2

Вы также можете использовать флаг --no-backup и файлы .orig не будут созданы

hg revert --no-backup filename.java

Как и в Mercurial 2.0, вместо этого вы можете использовать флаг -C для подавления создаваемых файлов .orig.

hg revert -C filename.java

Ответ 3

Я могу найти расширение очистки. Использование:

hg purge

"Это расширение очищает все файлы и каталоги, которые не отслеживаются Mercurial", включая файлы .orig, но исключая игнорируемые файлы (если вы не используете --all).

Ответ 4

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

Вы можете удалить их, выполнив эту команду из корня вашего репо:

rm `hg st -un | grep orig`

Если вы хотите вернуться и не заботитесь о резервном копировании исходных файлов, вам нужна команда:

hg update -C

Ответ 5

Это копии файлов, прежде чем вы их вернули. Если вам это не нужны, вы можете удалить их вручную или с помощью Расширение очистки:

hg clean

Ответ 6

Эти резервные файлы могут быть созданы для операций слияния и возврата (см. справочная страница). Вы можете добавить правило игнорирования, если хотите, или просто удалить их, если они вам больше не нужны.

Ответ 7

Они довольно распространены в результате различных операций. Взглянув на один из репозиториев умеренного размера, над которым я работаю, находят 237 из них. Мне не нравится удалять вещи, которые могут оказаться полезными, и у меня нет причин указывать законные файлы с тем же суффиксом, поэтому вместо этого добавляю следующее вместо .hgignore:

.\.orig$

Ответ 8

Я сам сделал этот пакетный файл.

IF "%1%" == "d" (
    del /s *.orig
    del /s *.rej
 ) ELSE ( 
    del /s /p *.rej
    del /s /p *.orig
 )

Help: Сохраните этот контент как orig.bat

  • Запустите orig d, чтобы удалить все файлы rejects и orig сразу без подтверждения.
  • Запустите orig, чтобы удалить файлы с подтверждением [Механизм безопасности]

Надеюсь, что это будет полезно.