/
Вопросы и ответы
/
Git
/

Как правильно выйти из редактора и что означает ошибка E325 при git commit --amend

Как правильно выйти из редактора и что означает ошибка E325 при git commit --amend

Я столкнулся с двумя проблемами при выполнении заданий:

  1. Не понимаю, как выходить из редактора при редактировании сообщения коммита.
  2. При выполнении команды git commit --amend появляется ошибка:
E325: ATTENTION
Found a swap file by the name ".git/.COMMIT_EDITMSG.swp"
owned by: X   dated: Wed Jan 23 16:01:06 2013
file name: ~X/Sites/mysite/.git/COMMIT_EDITMSG
modified: no
user name: X
host name: X-2.local
process ID: 77109
While opening file ".git/COMMIT_EDITMSG"
dated: Thu Jan 24 16:22:48 2013
NEWER than swap file!

Удаление файла .git/COMMIT_EDITMSG решает проблему, но я не понимаю, что это за файл и почему возникла ошибка.

14 дней назад

Nikolai Gagarinov

Ответы

1
  1. Выход из редактора

    • Если открылся vim:
      • Нажмите Esc чтобы выйти из режима вставки.
      • Введите :wq и нажмите Enter для сохранения и выхода.
      • Если хотите выйти без сохранения, используйте :q!.
    • Если открылся nano:
      • Нажмите Ctrl+O для сохранения, затем Enter.
      • Нажмите Ctrl+X для выхода.

    Подробнее в уроке Редактирование файлов.

  2. Ошибка E325

    • Эта ошибка появляется, если редактор обнаружил существующий swap-файл (файл подкачки) с несохранёнными данными.
    • В вашем случае .git/.COMMIT_EDITMSG.swp создаётся редактором (обычно vim) при открытии сообщения коммита. Если предыдущая сессия редактирования была некорректно закрыта или осталось несохранённое сообщение, Git не позволит открыть файл для нового коммита.
    • Удаление .git/.COMMIT_EDITMSG безопасно, если вы не потеряли сообщение коммита. Git создаёт этот файл автоматически при следующем коммите.
    • Причина появления: попытка открыть коммит одновременно в нескольких терминалах или некорректное завершение предыдущего редактирования.

Итог: используйте правильные команды выхода из редактора и при появлении E325 можно безопасно удалить .COMMIT_EDITMSG.swp, чтобы продолжить работу.

14 дней назад

Nikolai Gagarinov