Подтвердить что ты не робот

Удалить файл из фиксации в Mercurial

У меня есть фиксация, на которую я внес некоторые изменения. Некоторые из этих файлов, которые были частью поправки, мне не нужны в этой фиксации. Есть ли способ в Mercurial удалить некоторые файлы из фиксации без потери тех изменений, которые я им сделал? Спасибо.

Шаги:

  • Сделал некоторые изменения
  • hg commit -m
  • Сделано несколько изменений (некоторые из этих файлов были изменены с ошибкой)
  • hg изменить
4b9b3361

Ответ 1

Попробуйте:

hg forget somefile.txt
hg commit --amend

Если файл был новым (т.е. вы использовали hg add).

Если этот файл уже существует, попробуйте:

cp somefile.txt somefile.txt.bak
hg revert somefile.txt --rev .~1
hg commit --amend

Что в основном говорит mercurial для revert файла (somefile.txt) обратно в состояние, когда оно было одной ревизией назад (--rev .~1).

Обязательно создайте резервную копию файла, который вы возвращаете, прежде чем вводить команду, чтобы не потерять свои изменения. Я был под впечатлением, что Mercurial делает это автоматически для вас, но после его тестирования я не уверен.