Ответ 1
Да, вы можете удалить их. Это функция безопасности, если вы вернули то, что вы не хотели возвращать.
Я использую Mercurial. Я сделал клон хранилища. Для отладки я изменил несколько строк кода в java файле. Однако я не совершал эти изменения. Я просто хочу вернуть их обратно в исходное состояние, как показано в репозитории. Я пробовал hg revert filename.java
, который вернул его, но теперь, когда я делаю hg status
, я вижу дополнительные файлы, добавленные в мою папку, теперь вроде:
? filename.java.orig
Можно ли просто удалить эти файлы, и почему Mercurial делает их, когда я использую revert?
Да, вы можете удалить их. Это функция безопасности, если вы вернули то, что вы не хотели возвращать.
Вы также можете использовать флаг --no-backup и файлы .orig не будут созданы
hg revert --no-backup filename.java
Как и в Mercurial 2.0, вместо этого вы можете использовать флаг -C для подавления создаваемых файлов .orig.
hg revert -C filename.java
Я могу найти расширение очистки. Использование:
hg purge
"Это расширение очищает все файлы и каталоги, которые не отслеживаются Mercurial", включая файлы .orig, но исключая игнорируемые файлы (если вы не используете --all).
Как указывали другие, вы можете безопасно удалить эти файлы.
Вы можете удалить их, выполнив эту команду из корня вашего репо:
rm `hg st -un | grep orig`
Если вы хотите вернуться и не заботитесь о резервном копировании исходных файлов, вам нужна команда:
hg update -C
Это копии файлов, прежде чем вы их вернули. Если вам это не нужны, вы можете удалить их вручную или с помощью Расширение очистки:
hg clean
Эти резервные файлы могут быть созданы для операций слияния и возврата (см. справочная страница). Вы можете добавить правило игнорирования, если хотите, или просто удалить их, если они вам больше не нужны.
Они довольно распространены в результате различных операций. Взглянув на один из репозиториев умеренного размера, над которым я работаю, находят 237 из них. Мне не нравится удалять вещи, которые могут оказаться полезными, и у меня нет причин указывать законные файлы с тем же суффиксом, поэтому вместо этого добавляю следующее вместо .hgignore:
.\.orig$
Я сам сделал этот пакетный файл.
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
, чтобы удалить файлы с подтверждением [Механизм безопасности]Надеюсь, что это будет полезно.