Использование hg revert в Mercurial
Я использую Mercurial. Я сделал клон репозитория. Для отладки я изменил несколько строк кода в файле java. Однако я не совершал этих изменений. Я просто хочу вернуть их обратно в исходное состояние, как найдено в репозитории. Я пытался hg revert filename.java
, который вернул его, но теперь, когда я делаю hg status
, Я вижу дополнительные файлы, добавленные в мою папку теперь, как:
? filename.java.orig
могу ли я просто удалить эти файлы, и почему Mercurial делает их, когда я использую revert?
8 ответов:
Да, вы можете удалить их. Это функция безопасности в случае, если вы вернули то, что вы не хотели возвращать.
вы также можете использовать флаг --no-backup и the .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 )
помогите: Сохраните это содержимое как ориг.летучая мышь
- Run
orig d
удалить все браки и orig файлы сразу без подтверждения- Run
orig
удалить файлы с подтверждением [механизм]надеюсь, что это полезно.