Отменить последнее добавление в Mercurial? - PullRequest
8 голосов
/ 31 мая 2011

Я набрал

$ hg addremove

, но позже понял, что некоторые файлы не должны быть частью коммита.Что я должен был сделать, это добавить эти файлы в .hgignore и после этого запустить addremove и commit.

Есть ли способ исправить это?

Ответы [ 2 ]

15 голосов
/ 31 мая 2011

Если вы еще не подтвердили коммит, просто используйте hg forget fileToForget или Tortoise для удаления файлов.

Если вы зафиксировали и не возражаете против того, чтобы файлы были частью истории, просто забудьте их исовершите коммит снова.

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

Если вы имеете дело со слишком большим количеством файлов, вы можете попробовать автоматизировать задачу, получив список всех добавленных файлов, забыв их, изменив вас .hgignore и снова выполните addremove.

Пример первого шага в powershell без фиксации

hg status --added --no-status | foreach-object {hg forget $_};
0 голосов
/ 18 февраля 2014

Чтобы отменить addremove , который вы еще не сделали, просто запустите:

$ hg revert --all
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...